Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add chalk_ir::Const to TyKind::Array | Lukas Wirth | 2021-04-06 | 1 | -2/+2 |
| | |||||
* | Add Lifetime to TyKind::Ref | Lukas Wirth | 2021-04-06 | 1 | -4/+8 |
| | |||||
* | Substitution::prefix -> subst_prefix | Florian Diebold | 2021-04-05 | 1 | -1/+2 |
| | | | | I probably want to get rid of this function completely later. | ||||
* | Add Interner parameter to Binders::substitute | Florian Diebold | 2021-04-05 | 1 | -3/+3 |
| | |||||
* | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 1 | -3/+3 |
| | |||||
* | Hide Binders internals more | Florian Diebold | 2021-04-05 | 1 | -2/+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 | -1/+1 |
| | |||||
* | Move things from `traits` module to `types` as well | Florian Diebold | 2021-04-04 | 1 | -3/+4 |
| | |||||
* | Move things in hir_ty into submodules | Florian Diebold | 2021-04-04 | 1 | -1/+1 |
| | | | | | - all the types that will be replaced by Chalk go to `types` - `TypeWalk` impls go to `walk` | ||||
* | Replace Substitution::type_params | Florian Diebold | 2021-04-04 | 1 | -2/+2 |
| | |||||
* | Replace remaining uses of Substitution::build_for_def | Florian Diebold | 2021-04-04 | 1 | -3/+2 |
| | |||||
* | Add and start using TraitRef and ProjectionTy builders | Florian Diebold | 2021-04-04 | 1 | -16/+8 |
| | |||||
* | Move Ty::builtin to TyBuilder | Florian Diebold | 2021-04-04 | 1 | -2/+2 |
| | |||||
* | Use bitflags to compress function properties | Jonas Schievink | 2021-04-03 | 1 | -3/+3 |
| | | | | Very minor savings, only 1 MB or so | ||||
* | Rename Ty::interned to Ty::kind | Florian Diebold | 2021-04-03 | 1 | -13/+13 |
| | | | | ... since that's the actual method on Chalk side that matches the signature. | ||||
* | Introduce `GenericArg` like in Chalk | Florian Diebold | 2021-04-03 | 1 | -9/+22 |
| | | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters. | ||||
* | Global TypeRef/TraitRef interning | Jonas Schievink | 2021-04-01 | 1 | -4/+4 |
| | |||||
* | Rename target_ty to self_ty | Lukas Wirth | 2021-03-29 | 1 | -6/+6 |
| | |||||
* | Lower traits to TraitRef instead of TypeRef | Lukas Wirth | 2021-03-29 | 1 | -1/+2 |
| | |||||
* | completion relevance consider if types can be unified | Josh Mcguigan | 2021-03-26 | 1 | -1/+5 |
| | |||||
* | Use arrayvec 0.6 | Laurențiu Nicola | 2021-03-25 | 1 | -1/+1 |
| | |||||
* | Merge #7907 | bors[bot] | 2021-03-24 | 1 | -0/+2 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: don't use the self module as visible_from in iterate_method_candidates | cynecx | 2021-03-24 | 1 | -6/+1 |
| | | |||||
| * | hir_ty: introduce visible_from_module param into method resolution | cynecx | 2021-03-20 | 1 | -0/+7 |
| | | |||||
* | | simplify | Lukas Wirth | 2021-03-23 | 1 | -0/+15 |
| | | |||||
* | | Make more use of the HIR in rename::rename_to_self | Lukas Wirth | 2021-03-23 | 1 | -4/+17 |
| | | |||||
* | | Merge hir::MacroDef::is_* into hir::MacroDef::kind | Lukas Wirth | 2021-03-23 | 1 | -14/+17 |
| | | |||||
* | | Set up a search scope when searching for mbe macro references | Lukas Wirth | 2021-03-23 | 1 | -0/+5 |
| | | |||||
* | | Align naming of deps and revdeps | Aleksey Kladov | 2021-03-23 | 1 | -5/+1 |
| | | |||||
* | | Compute more mathematically well-rounded notion of transitive deps | Aleksey Kladov | 2021-03-23 | 1 | -2/+1 |
| | | | | | | | | | | | | | | | | By including the crate itself, we make the resulting set closed with respect to `transitve_reveres_dependencies` operation, as it becomes a proper transitive closure. This just feels more proper and mathy. And, indeed, this actually allows us to simplify call sites somewhat. | ||||
* | | Align InEnvironment with Chalk | Florian Diebold | 2021-03-21 | 1 | -77/+55 |
| | | | | | | | | | | | | 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 | -13/+28 |
| | | | | | | | | In particular, use chalk_ir::CanonicalVarKinds. | ||||
* | | Use QuantifiedWhereClause in generic_predicates as well | Florian Diebold | 2021-03-21 | 1 | -1/+1 |
| | | | | | | | | | | Still far too much binder skipping going on; I find it hard to imagine this is all correct, but the tests pass. | ||||
* | | Introduce QuantifiedWhereClause and DynTy analogous to Chalk | Florian Diebold | 2021-03-21 | 1 | -6/+11 |
| | | | | | | | | | | This introduces a bunch of new binders in lots of places, which we have to be careful about, but we had to add them at some point. | ||||
* | | Merge #8133 | bors[bot] | 2021-03-21 | 1 | -1/+4 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8133: Ignore type bindings in generic_predicates_for_param (fix panic on ena and crates depending on it) r=flodiebold a=flodiebold This allows us to handle more cases without a query cycle, which includes certain cases that rustc accepted. That in turn means we avoid triggering salsa-rs/salsa#257 on valid code (it will still happen if the user writes an actual cycle). We actually accept more definitions than rustc now; that's because rustc only ignores bindings when looking up super traits, whereas we now also ignore them when looking for predicates to disambiguate associated type shorthand. We could introduce a separate query for super traits if necessary, but for now I think this should be fine. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | Ignore type bindings in generic_predicates_for_param | Florian Diebold | 2021-03-21 | 1 | -1/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows us to handle more cases without a query cycle, which includes certain cases that rustc accepted. That in turn means we avoid triggering salsa-rs/salsa#257 on valid code (it will still happen if the user writes an actual cycle). We actually accept more definitions than rustc now; that's because rustc only ignores bindings when looking up super traits, whereas we now also ignore them when looking for predicates to disambiguate associated type shorthand. We could introduce a separate query for super traits if necessary, but for now I think this should be fine. | ||||
* | | | clippy::complexity simplifications related to Iterators | Matthias Krüger | 2021-03-21 | 1 | -1/+1 |
|/ / | |||||
* / | Track labels in scopes | Lukas Wirth | 2021-03-21 | 1 | -0/+1 |
|/ | |||||
* | Turn Obligation into something similar to chalk_ir::DomainGoal | Florian Diebold | 2021-03-20 | 1 | -5/+6 |
| | | | | This includes starting to make use of Chalk's `Cast` trait. | ||||
* | Rename GenericPredicate -> WhereClause | Florian Diebold | 2021-03-20 | 1 | -6/+6 |
| | |||||
* | Add `AttrsWithOwner` and clean up `source_map` | Jonas Schievink | 2021-03-19 | 1 | -1/+1 |
| | |||||
* | Replace Projection variant in GenericPredicate with AliasEq | Lukas Wirth | 2021-03-19 | 1 | -11/+11 |
| | |||||
* | Chalkify TraitRef | Florian Diebold | 2021-03-18 | 1 | -5/+5 |
| | |||||
* | Store an `AstId` for procedural macros | Jonas Schievink | 2021-03-18 | 1 | -2/+5 |
| | |||||
* | Make MacroDefId's `AstId` mandatory when possible | Jonas Schievink | 2021-03-18 | 1 | -1/+2 |
| | |||||
* | Merge #8059 | bors[bot] | 2021-03-17 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | 8059: Move doc-comment highlight injection from AST to HIR r=matklad,jonas-schievink a=Veykril Fixes #5016 Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Properly handle doc attributes in doc-comment highlight injection | Lukas Wirth | 2021-03-16 | 1 | -1/+1 |
| | | |||||
* | | avoid converting types into themselves via .into() (clippy::useless-conversion) | Matthias Krüger | 2021-03-17 | 1 | -6/+6 |
| | | | | | | | | example: let x: String = String::from("hello world").into(); | ||||
* | | Rename Substs -> Substitution | Florian Diebold | 2021-03-16 | 1 | -8/+8 |
|/ |