Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Address final feedback | Jade | 2021-05-16 | 1 | -12/+7 |
| | | | | | * rename ConstExtension->ConstExt * refactor a manual construction of a Const | ||||
* | Add lowering of array lengths in types | Jade | 2021-05-13 | 1 | -10/+16 |
| | | | | | | | | | | | Now e.g. ```rust fn a(b: [u8; 2]) { } ``` will know about the length of b. | ||||
* | Add basic support for array lengths in types | Jade | 2021-05-11 | 1 | -0/+2 |
| | | | | | | | | | | This recognizes `let a = [1u8, 2, 3]` as having type `[u8; 3]` instead of the previous `[u8; _]`. Byte strings and `[0u8; 2]` kinds of range array declarations are unsupported as before. I don't know why a bunch of our rustc tests had single quotes inside strings un-escaped by `UPDATE_EXPECT=1 cargo t`, but I don't think it's bad? Maybe something in a nightly? | ||||
* | Don't look in super traits for <T as Trait>::Assoc | Florian Diebold | 2021-04-29 | 1 | -7/+6 |
| | | | | | | | This isn't actually how it works, you have to specify the exact trait that has the associated type. Fixes #8686. | ||||
* | Handle cycles in generic_defaults more gracefully | Florian Diebold | 2021-04-29 | 1 | -0/+21 |
| | |||||
* | hir_ty: cleanups and extend infinitely_recursive_macro_type test | cynecx | 2021-04-18 | 1 | -3/+5 |
| | |||||
* | hir_ty: keep body::Expander in TyLoweringContext | cynecx | 2021-04-18 | 1 | -14/+57 |
| | |||||
* | hir_def: refactor expand_macro_type and cleanups | cynecx | 2021-04-17 | 1 | -3/+3 |
| | |||||
* | hir_ty: Expand macros at type position | cynecx | 2021-04-17 | 1 | -1/+11 |
| | |||||
* | Move ToChalk -> mapping | Florian Diebold | 2021-04-09 | 1 | -4/+4 |
| | |||||
* | Reorganize hir_ty modules | Florian Diebold | 2021-04-09 | 1 | -1/+2 |
| | | | | | Chalk isn't really a 'traits' thing anymore, so it doesn't make sense to have all the Chalk-related stuff in submodules of `traits`. | ||||
* | Remove unused | Florian Diebold | 2021-04-08 | 1 | -1/+1 |
| | |||||
* | Remove identity impls for ToChalk | Florian Diebold | 2021-04-08 | 1 | -3/+2 |
| | |||||
* | Replace some `fold` calls | Florian Diebold | 2021-04-08 | 1 | -16/+10 |
| | |||||
* | Fix shifted_{in,out} calls | Florian Diebold | 2021-04-08 | 1 | -3/+3 |
| | |||||
* | Add HasInterner bounds | Florian Diebold | 2021-04-08 | 1 | -2/+2 |
| | |||||
* | Move hir_trait_id to extension trait | Florian Diebold | 2021-04-07 | 1 | -1/+1 |
| | |||||
* | infer: remove `record_field_resolutions` field | Jonas Schievink | 2021-04-06 | 1 | -3/+2 |
| | | | | | It stores no useful data, since we can derive all fields from `variant_resolutions` | ||||
* | Add chalk_ir::Const to TyKind::Array | Lukas Wirth | 2021-04-06 | 1 | -2/+2 |
| | |||||
* | Use a constructor function for Static lifetimes | Lukas Wirth | 2021-04-06 | 1 | -6/+5 |
| | |||||
* | Add Lifetime to DynTy | Lukas Wirth | 2021-04-06 | 1 | -1/+3 |
| | |||||
* | Add Lifetime to TyKind::Ref | Lukas Wirth | 2021-04-06 | 1 | -2/+4 |
| | |||||
* | Fix shifting of binders in FnPointer | Florian Diebold | 2021-04-05 | 1 | -2/+3 |
| | | | | | | | | | - don't shift in/out for Chalk mapping (we want to have the same binders now) - do shift in when creating the signature for a closure (though it shouldn't matter much) - do shift in when lowering a `fn()` type - correctly deal with the implied binder in TypeWalk | ||||
* | Align FnPointer with Chalk | Florian Diebold | 2021-04-05 | 1 | -5/+5 |
| | |||||
* | Binders::wrap_empty -> wrap_empty_binders | Florian Diebold | 2021-04-05 | 1 | -3/+5 |
| | |||||
* | Rename shift_bound_vars{_out} to align with Chalk | Florian Diebold | 2021-04-05 | 1 | -9/+9 |
| | |||||
* | Get rid of subst_bound_vars uses | Florian Diebold | 2021-04-05 | 1 | -1/+1 |
| | |||||
* | Get rid of some walk_mut uses | Florian Diebold | 2021-04-05 | 1 | -4/+6 |
| | |||||
* | Add Interner parameter to Binders::substitute | Florian Diebold | 2021-04-05 | 1 | -4/+4 |
| | |||||
* | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 1 | -4/+4 |
| | |||||
* | Use VariableKinds in Binders | Florian Diebold | 2021-04-05 | 1 | -41/+41 |
| | |||||
* | Hide Binders internals more | Florian Diebold | 2021-04-05 | 1 | -10/+13 |
| | |||||
* | Pass interner to TraitRef::self_type_parameter | Laurențiu Nicola | 2021-04-05 | 1 | -1/+2 |
| | |||||
* | Rename TyKind::ForeignType to Foreign | Laurențiu Nicola | 2021-04-05 | 1 | -1/+1 |
| | |||||
* | Rename TyKind::Unknown to Error | Laurențiu Nicola | 2021-04-05 | 1 | -19/+19 |
| | |||||
* | Replace Substitution::type_params | Florian Diebold | 2021-04-04 | 1 | -3/+4 |
| | |||||
* | Replace Substitution::bound_vars and ::type_params_for_generics | Florian Diebold | 2021-04-04 | 1 | -16/+8 |
| | |||||
* | Use TyBuilder in another place | Florian Diebold | 2021-04-04 | 1 | -4/+3 |
| | |||||
* | Move Ty::builtin to TyBuilder | Florian Diebold | 2021-04-04 | 1 | -1/+1 |
| | |||||
* | Add TyBuilder::adt | Florian Diebold | 2021-04-04 | 1 | -4/+5 |
| | |||||
* | Use bitflags to compress function properties | Jonas Schievink | 2021-04-03 | 1 | -1/+1 |
| | | | | Very minor savings, only 1 MB or so | ||||
* | Introduce `GenericArg` like in Chalk | Florian Diebold | 2021-04-03 | 1 | -8/+9 |
| | | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters. | ||||
* | Merge #8284 | bors[bot] | 2021-04-02 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | 8284: Reduce memory usage by using global `Arc`-based interning r=jonas-schievink a=jonas-schievink This saves around 50 mb when running `analysis-stats` on r-a itself. Not a lot, but this infra can be easily reused to intern more stuff. Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | Global TypeRef/TraitRef interning | Jonas Schievink | 2021-04-01 | 1 | -1/+1 |
| | | |||||
* | | Don't allocate in `associated_type_shorthand_candidates` | Lukas Wirth | 2021-04-02 | 1 | -36/+33 |
| | | |||||
* | | Resolve associated types with type anchors | Lukas Wirth | 2021-04-01 | 1 | -1/+1 |
|/ | |||||
* | Remove TraitRef::Error | Lukas Wirth | 2021-03-29 | 1 | -4/+1 |
| | |||||
* | Rename target_ty to self_ty | Lukas Wirth | 2021-03-29 | 1 | -1/+1 |
| | |||||
* | Lower traits to TraitRef instead of TypeRef | Lukas Wirth | 2021-03-29 | 1 | -7/+6 |
| | |||||
* | Fix chalk_ir assertion | Florian Diebold | 2021-03-24 | 1 | -4/+7 |
| | | | | Fixes #8150. |