Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add Interner parameter to Binders::substitute | Florian Diebold | 2021-04-05 | 1 | -2/+2 |
| | |||||
* | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 1 | -2/+2 |
| | |||||
* | Hide Binders internals more | Florian Diebold | 2021-04-05 | 1 | -4/+4 |
| | |||||
* | Rename TyKind::ForeignType to Foreign | Laurențiu Nicola | 2021-04-05 | 1 | -2/+2 |
| | |||||
* | Rename TyKind::Unknown to Error | Laurențiu Nicola | 2021-04-05 | 1 | -1/+1 |
| | |||||
* | Move things from `traits` module to `types` as well | Florian Diebold | 2021-04-04 | 1 | -1/+1 |
| | |||||
* | Replace remaining uses of Substitution::build_for_def | Florian Diebold | 2021-04-04 | 1 | -3/+3 |
| | |||||
* | Add and start using TraitRef and ProjectionTy builders | Florian Diebold | 2021-04-04 | 1 | -5/+3 |
| | |||||
* | Use bitflags to compress function properties | Jonas Schievink | 2021-04-03 | 1 | -1/+1 |
| | | | | Very minor savings, only 1 MB or so | ||||
* | Rename Ty::interned to Ty::kind | Florian Diebold | 2021-04-03 | 1 | -7/+5 |
| | | | | ... since that's the actual method on Chalk side that matches the signature. | ||||
* | Introduce `GenericArg` like in Chalk | Florian Diebold | 2021-04-03 | 1 | -3/+4 |
| | | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters. | ||||
* | Use arrayvec 0.6 | Laurențiu Nicola | 2021-03-25 | 1 | -2/+2 |
| | |||||
* | Merge #7907 | bors[bot] | 2021-03-24 | 1 | -4/+37 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7907: Autoderef with visibility r=cynecx a=cynecx Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7841. I am not sure about the general approach here. Right now this simply tries to check whether the autoderef candidate is reachable from the current module. ~~However this doesn't exactly work with traits (see the `tests::macros::infer_derive_clone_in_core` test, which fails right now).~~ see comment below Refs: - `rustc_typeck` checking fields: https://github.com/rust-lang/rust/blob/66ec64ccf31883cd2c28d045912a76179c0c6ed2/compiler/rustc_typeck/src/check/expr.rs#L1610 r? @flodiebold Co-authored-by: cynecx <[email protected]> | ||||
| * | hir_def: move visibility queries from hir_ty to hir_def | cynecx | 2021-03-24 | 1 | -1/+1 |
| | | |||||
| * | hir_ty: add coverage testing for autoderef_visibility_method test | cynecx | 2021-03-20 | 1 | -0/+1 |
| | | |||||
| * | hir_ty: iterate_method_candidates_for_self_ty pass `visible_from_module` ↵ | cynecx | 2021-03-20 | 1 | -1/+6 |
| | | | | | | | | down to `iterate_inherent_methods` | ||||
| * | hir_ty: introduce visible_from_module param into method resolution | cynecx | 2021-03-20 | 1 | -4/+31 |
| | | |||||
* | | Align InEnvironment with Chalk | Florian Diebold | 2021-03-21 | 1 | -3/+3 |
| | | | | | | | | | | | | This in particular means storing a chalk_ir::Environment, not our TraitEnvironment. This makes InEnvironment not usable for Type, where we need to keep the full TraitEnvironment. | ||||
* | | Align Canonical more with Chalk's version | Florian Diebold | 2021-03-21 | 1 | -15/+34 |
|/ | | | | In particular, use chalk_ir::CanonicalVarKinds. | ||||
* | Turn Obligation into something similar to chalk_ir::DomainGoal | Florian Diebold | 2021-03-20 | 1 | -3/+3 |
| | | | | This includes starting to make use of Chalk's `Cast` trait. | ||||
* | Chalkify TraitRef | Florian Diebold | 2021-03-18 | 1 | -2/+3 |
| | |||||
* | Rename Substs -> Substitution | Florian Diebold | 2021-03-16 | 1 | -7/+7 |
| | |||||
* | Merge #8020 | bors[bot] | 2021-03-15 | 1 | -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_implementation | Lukas Wirth | 2021-03-15 | 1 | -1/+9 |
| | | |||||
* | | Don't use Substs for Ref/Raw/Array/Slice | Florian Diebold | 2021-03-14 | 1 | -4/+2 |
|/ | |||||
* | Use chalk_ir::ForeignDefId | Florian Diebold | 2021-03-13 | 1 | -6/+9 |
| | |||||
* | Separate `Ty` and `TyKind` like in Chalk | Florian Diebold | 2021-03-13 | 1 | -35/+41 |
| | | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`. | ||||
* | Use Chalk Environment more directly | Florian Diebold | 2021-03-12 | 1 | -2/+1 |
| | |||||
* | Delete `ContainerId` | Jonas Schievink | 2021-03-09 | 1 | -1/+1 |
| | |||||
* | Stop using `ContainerId` in `AssocContainerId` | Jonas Schievink | 2021-03-09 | 1 | -1/+1 |
| | |||||
* | Use upstream cov-mark | Laurențiu Nicola | 2021-03-08 | 1 | -1/+1 |
| | |||||
* | Use chalk_ir::AdtId | Lukas Wirth | 2021-03-04 | 1 | -7/+7 |
| | |||||
* | Use chalk_ir::Mutability | Lukas Wirth | 2021-03-01 | 1 | -4/+5 |
| | |||||
* | Introduce Ty::Alias | Lukas Wirth | 2021-03-01 | 1 | -4/+4 |
| | |||||
* | Being Ty::InferenceVar closes to chalk equivalent | Lukas Wirth | 2021-03-01 | 1 | -3/+3 |
| | |||||
* | Lift FnPointer into a struct | Lukas Wirth | 2021-02-28 | 1 | -6/+4 |
| | |||||
* | Remove Substs from Ty::ForeignType | Lukas Wirth | 2021-02-28 | 1 | -1/+1 |
| | |||||
* | Turn Ty::Tuple variant into a tuple-variant | Lukas Wirth | 2021-02-28 | 1 | -2/+2 |
| | |||||
* | Inline TypeCtor into Ty | Lukas Wirth | 2021-02-28 | 1 | -55/+71 |
| | |||||
* | Use chalk_ir::Scalar directly | Lukas Wirth | 2021-02-28 | 1 | -3/+7 |
| | |||||
* | Introduce TypeCtor::Scalar | Lukas Wirth | 2021-02-28 | 1 | -64/+26 |
| | |||||
* | Check for dyn impls in method resolution | Lukas Wirth | 2021-02-08 | 1 | -11/+16 |
| | |||||
* | Make `ModuleId`'s `krate` field private | Jonas Schievink | 2021-01-22 | 1 | -3/+3 |
| | |||||
* | Make public DefMap fields private | Jonas Schievink | 2021-01-20 | 1 | -2/+2 |
| | |||||
* | Use correct, full substs for self type in impl | Florian Diebold | 2020-12-04 | 1 | -1/+7 |
| | | | | | | | | Without arbitrary self types, the self type could never refer to the method type parameters, so this wasn't a problem; but with arbitrary self types, it can. This fixes the crash from #6668; but it doesn't make method resolution work for these methods. | ||||
* | Fix case where non FnOnce variables is marked callable | GrayJack | 2020-10-26 | 1 | -0/+13 |
| | |||||
* | Use Ty::apply instead of simple and fix method resolution. | Charles Lew | 2020-09-16 | 1 | -0/+8 |
| | |||||
* | Rename ra_hir_ty -> hir_ty | Aleksey Kladov | 2020-08-13 | 1 | -0/+769 |