aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix shifting of binders in FnPointerFlorian Diebold2021-04-054-10/+23
| | | | | | | | | - 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 ChalkFlorian Diebold2021-04-059-40/+86
|
* Substitution::prefix -> subst_prefixFlorian Diebold2021-04-053-10/+13
| | | | I probably want to get rid of this function completely later.
* Get rid of Substitution::suffixFlorian Diebold2021-04-052-10/+6
|
* Remove some unused methods, move some to types.rsFlorian Diebold2021-04-052-29/+15
|
* Binders::wrap_empty -> wrap_empty_bindersFlorian Diebold2021-04-053-16/+12
|
* Substitution::single -> from1Florian Diebold2021-04-054-14/+17
|
* Move ProjectionTy methods to extension traitFlorian Diebold2021-04-057-32/+43
|
* Merge #8353bors[bot]2021-04-054-18/+50
|\ | | | | | | | | | | | | | | 8353: Replace hir_ty::Lifetime with chalk equivalent r=flodiebold a=Veykril Our `Lifetime` isn't really used yet so this is a rather simple change Co-authored-by: Lukas Wirth <[email protected]>
| * Replace unused hir_ty::Lifetime with chalk equivalentsLukas Wirth2021-04-054-18/+50
| |
* | Use more assoc. type aliases in the chalk internerJonas Schievink2021-04-051-22/+21
|/ | | | Makes it sligthly easier to swap out these types
* Rename shift_bound_vars{_out} to align with ChalkFlorian Diebold2021-04-055-25/+32
|
* Get rid of subst_bound_vars usesFlorian Diebold2021-04-053-5/+9
|
* Get rid of some walk_mut usesFlorian Diebold2021-04-052-10/+15
|
* Add Interner parameter to Binders::substituteFlorian Diebold2021-04-0511-37/+44
|
* Binders::subst -> substituteFlorian Diebold2021-04-0511-34/+34
|
* Use VariableKinds in BindersFlorian Diebold2021-04-057-84/+107
|
* Hide Binders internals moreFlorian Diebold2021-04-059-84/+104
|
* Use arrayvec 0.7 to avoid perf regression in 0.6.1kjeremy2021-04-051-1/+1
| | | | See: https://github.com/bluss/arrayvec/issues/182
* Pass interner to TraitRef::self_type_parameterLaurențiu Nicola2021-04-054-20/+24
|
* Pass interner to ProjectionTy::self_type_parameterLaurențiu Nicola2021-04-054-7/+7
|
* Rename TyKind::ForeignType to ForeignLaurențiu Nicola2021-04-056-9/+9
|
* Rename TyKind::Unknown to ErrorLaurențiu Nicola2021-04-0513-47/+47
|
* Intern `GenericParams`Jonas Schievink2021-04-051-1/+2
| | | | | Also share the same instance between `ItemTree` and `generic_params` query.
* Intern more `TypeRef`s in genericsJonas Schievink2021-04-051-5/+4
| | | | Saves ~3 MB
* Move things from `traits` module to `types` as wellFlorian Diebold2021-04-0411-107/+103
|
* Move things in hir_ty into submodulesFlorian Diebold2021-04-0410-706/+750
| | | | | - all the types that will be replaced by Chalk go to `types` - `TypeWalk` impls go to `walk`
* Add commentFlorian Diebold2021-04-041-0/+3
|
* Replace Substitution::type_paramsFlorian Diebold2021-04-044-12/+11
|
* Replace Substitution::bound_vars and ::type_params_for_genericsFlorian Diebold2021-04-047-54/+42
|
* Move TyBuilder to its own moduleFlorian Diebold2021-04-042-204/+221
|
* Replace last uses of SubstsBuilder by TyBuilderFlorian Diebold2021-04-044-64/+23
|
* Remove CallableSig::from_substsFlorian Diebold2021-04-041-11/+1
|
* Use TyBuilder in another placeFlorian Diebold2021-04-041-4/+3
|
* Some more TyBuilder useFlorian Diebold2021-04-042-33/+25
|
* Replace remaining uses of Substitution::build_for_defFlorian Diebold2021-04-045-18/+44
|
* More TyBuilder useFlorian Diebold2021-04-041-12/+9
|
* More TyBuilder useFlorian Diebold2021-04-041-23/+15
|
* Add and start using TraitRef and ProjectionTy buildersFlorian Diebold2021-04-044-22/+39
|
* Move Ty::builtin to TyBuilderFlorian Diebold2021-04-042-18/+18
|
* Add TyBuilder::adtFlorian Diebold2021-04-044-45/+104
|
* Move Ty::fn_ptr to TyBuilderFlorian Diebold2021-04-042-11/+12
|
* Add TyBuilder::unit() and TyExt::is_unit()Florian Diebold2021-04-047-25/+39
|
* Add TyBuilderFlorian Diebold2021-04-041-0/+6
|
* Access a body's block def maps via a methodJonas Schievink2021-04-042-3/+2
|
* Use bitflags to compress function propertiesJonas Schievink2021-04-034-6/+6
| | | | Very minor savings, only 1 MB or so
* Rename Ty::interned to Ty::kindFlorian Diebold2021-04-0316-62/+60
| | | | ... since that's the actual method on Chalk side that matches the signature.
* Introduce `GenericArg` like in ChalkFlorian Diebold2021-04-0316-152/+301
| | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters.
* Merge #8284bors[bot]2021-04-021-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 interningJonas Schievink2021-04-011-1/+1
| |