aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_ty/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix macro expansion for statements w/o semicolonEdwin Cheng2021-03-161-0/+16
|
* Use SmallVec for SubstsFlorian Diebold2021-03-153-14/+29
| | | | | Doesn't help as much as I hoped, but it helps a bit and I also did some refactorings that were necessary anyway.
* Fix unification logicFlorian Diebold2021-03-152-101/+117
|
* Merge #8020bors[bot]2021-03-151-1/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8020: Power up goto_implementation r=matklad a=Veykril by allowing it to be invoked on references of names, now showing all (trait) implementations of the given type in all crates instead of just the defining crate as well as including support for builtin types ![image](https://user-images.githubusercontent.com/3757771/111144403-52bb0700-8587-11eb-9205-7a2a5b8b75a3.png) Example screenshot of `impl`s of Box in `log`, `alloc`, `std` and the current crate. Before you had to invoke it on the definition where it would only show the `impls` in `alloc`. Co-authored-by: Lukas Wirth <[email protected]>
| * Speedup trait impl search for goto_implementationLukas Wirth2021-03-151-1/+9
| |
* | Merge #8018bors[bot]2021-03-1510-137/+126
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8018: Make Ty wrap TyKind in an Arc r=flodiebold a=flodiebold ... to further move towards Chalk. This is a bit of a slowdown (218ginstr vs 213ginstr for inference on RA), even though it allows us to unwrap the Substs in `TyKind::Ref` etc.. Co-authored-by: Florian Diebold <[email protected]>
| * | Don't use Substs for Ref/Raw/Array/SliceFlorian Diebold2021-03-149-111/+74
| | |
| * | Make Ty wrap TyKind in an ArcFlorian Diebold2021-03-148-27/+53
| |/ | | | | | | | | | | | | | | ... like it will be in Chalk. We still keep `interned_mut` and `into_inner` methods that will probably not exist with Chalk. This worsens performance slightly (5ginstr inference on RA), but doesn't include other simplifications we can do yet.
* / Simplify source maps for fieldsAleksey Kladov2021-03-152-6/+5
|/
* More renamingFlorian Diebold2021-03-144-18/+22
|
* Use chalk_ir::FnSigFlorian Diebold2021-03-145-21/+22
|
* Rename some fields to their Chalk namesFlorian Diebold2021-03-1410-45/+45
|
* Move type lowering methods to TyLoweringContextFlorian Diebold2021-03-134-286/+246
|
* Create TraitEnvironment through a queryFlorian Diebold2021-03-134-45/+59
|
* Use chalk_ir::OpaqueTyIdFlorian Diebold2021-03-137-63/+53
|
* Use chalk_ir::PlaceholderIndexFlorian Diebold2021-03-137-43/+52
|
* Use chalk_ir::ClosureIdFlorian Diebold2021-03-135-23/+17
|
* Use chalk_ir::FnDefIdFlorian Diebold2021-03-139-26/+47
|
* Use chalk_ir::AssocTypeIdFlorian Diebold2021-03-139-74/+82
|
* Use chalk_ir::ForeignDefIdFlorian Diebold2021-03-136-38/+32
|
* Separate `Ty` and `TyKind` like in ChalkFlorian Diebold2021-03-1318-583/+718
| | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`.
* Remove `ItemTree::source`Jonas Schievink2021-03-121-6/+4
| | | | `HasSource` should be used instead
* Simplify a bitFlorian Diebold2021-03-121-10/+5
|
* Use Chalk Environment more directlyFlorian Diebold2021-03-125-55/+44
|
* Prefer names from outer DefMap over extern preludeJonas Schievink2021-03-101-0/+29
|
* Delete `ContainerId`Jonas Schievink2021-03-094-7/+7
|
* Stop using `ContainerId` in `AssocContainerId`Jonas Schievink2021-03-093-3/+3
|
* Check ancestor maps when computing traits in scopeJonas Schievink2021-03-091-0/+33
|
* Use `body.block_scopes` in `hir_ty` testsJonas Schievink2021-03-091-6/+14
|
* Use `body.block_scopes` to validate inner itemsJonas Schievink2021-03-091-3/+8
|
* Use upstream cov-markLaurențiu Nicola2021-03-0813-38/+24
|
* Make two calls virtualLaurențiu Nicola2021-03-051-1/+1
|
* Use chalk_ir::AdtIdLukas Wirth2021-03-0410-70/+65
|
* Use chalk_ir::MutabilityLukas Wirth2021-03-019-59/+70
|
* Introduce Ty::AliasLukas Wirth2021-03-0113-94/+105
|
* Assert index relationship between type_variable_table and var_unification_tableLukas Wirth2021-03-012-22/+13
|
* Being Ty::InferenceVar closes to chalk equivalentLukas Wirth2021-03-0110-150/+170
|
* Merge #7816bors[bot]2021-02-288-81/+93
|\ | | | | | | | | | | | | | | 7816: Lift Ty::Fn into a struct r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Lift FnPointer into a structLukas Wirth2021-02-288-81/+93
| |
* | hir_ty: use default type generic for box expressionscynecx2021-02-282-0/+61
|/
* Remove Substs from Ty::ForeignTypeLukas Wirth2021-02-285-18/+9
|
* Turn Ty::Tuple variant into a tuple-variantLukas Wirth2021-02-287-20/+18
|
* Fix code_model::Type::walk not walking all typesLukas Wirth2021-02-282-19/+18
|
* Inline TypeCtor into TyLukas Wirth2021-02-2815-832/+644
|
* Use chalk_ir::Scalar directlyLukas Wirth2021-02-286-197/+78
|
* Introduce TypeCtor::ScalarLukas Wirth2021-02-289-298/+271
|
* Add test from #7273Laurențiu Nicola2021-02-211-0/+45
|
* Don't write trailing whitespace when formatting empty GenericPredicatesLukas Wirth2021-02-202-11/+22
|
* Don't lower TypeBound::Lifetime as GenericPredicate::ErrorLukas Wirth2021-02-203-23/+21
|
* Add testLaurențiu Nicola2021-02-201-0/+24
|