Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add test for #8931 and better checking | Florian Diebold | 2021-05-23 | 1 | -2/+2 | |
| | ||||||
* | Rework obligation handling | Florian Diebold | 2021-05-21 | 1 | -4/+6 | |
| | | | | | | | | We can't do the easy hack that we did before anymore, where we kept track of whether any inference variables changed since the last time we rechecked obligations. Instead, we store the obligations in canonicalized form; that way we can easily check the inference variables to see whether they have changed since the goal was canonicalized. | |||||
* | Fix HIR expecting errors to unify with anything | Florian Diebold | 2021-05-21 | 1 | -6/+3 | |
| | ||||||
* | Fix compilation of hir and ide crates | Florian Diebold | 2021-05-21 | 1 | -2/+2 | |
| | ||||||
* | Merge #8813 | bors[bot] | 2021-05-16 | 1 | -1/+4 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8813: Get some more array lengths! r=lf- a=lf- This is built on #8799 and thus contains its changes. I'll rebase it onto master when that one gets merged. It adds support for r-a understanding the length of: * `let a: [u8; 2] = ...` * `let a = b"aaa"` * `let a = [0u8; 4]` I have added support for getting the values of byte strings, which was not previously there. I am least confident in the correctness of this part and it probably needs some more tests, as we currently have only one test that exercised that part (!). Fixes #2922. Co-authored-by: Jade <[email protected]> | |||||
| * | Address final feedback | Jade | 2021-05-16 | 1 | -1/+1 | |
| | | | | | | | | | | * rename ConstExtension->ConstExt * refactor a manual construction of a Const | |||||
| * | Add more tests, refactor array lengths/consteval work | Jade | 2021-05-14 | 1 | -1/+4 | |
| | | | | | | | | | | | | | | | | | | | | | | Fix #2922: add unknown length as a condition for a type having unknown. Incorporate reviews: * Extract some of the const evaluation workings into functions * Add fixmes on the hacks * Add tests for impls on specific array lengths (these work!!! š) * Add tests for const generics (indeed we don't support it yet) | |||||
* | | Apply async semantic token modifier to async/await keywords | hi-rustin | 2021-05-14 | 1 | -0/+4 | |
|/ | | | | Only async semantic token modifier | |||||
* | Correctly support SelfType when searching for usages | Lukas Wirth | 2021-05-08 | 1 | -0/+4 | |
| | ||||||
* | internal: expose cfg attrs from hir::Crate | Aleksey Kladov | 2021-05-07 | 1 | -0/+5 | |
| | ||||||
* | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 1 | -1/+1 | |
| | ||||||
* | simplify | Lukas Tobias Wirth | 2021-05-05 | 1 | -0/+4 | |
| | ||||||
* | internal: fix naming polarity | Aleksey Kladov | 2021-04-30 | 1 | -1/+1 | |
| | | | | | Type Constructors have *parameters*, when they are substituted with type *arguments*, we have a type. | |||||
* | internal: normalize name | Aleksey Kladov | 2021-04-30 | 1 | -1/+1 | |
| | | | | All def types in hir are unsubstituted | |||||
* | Exclude inherent traits from flyimports | Kirill Bulatov | 2021-04-16 | 1 | -0/+12 | |
| | ||||||
* | Improve indexing of impls | Florian Diebold | 2021-04-09 | 1 | -9/+21 | |
| | | | | | | Store impls for e.g. &Foo with the ones for Foo instead of the big "other" bucket. This can improve performance and simplifies the HIR impl search a bit. | |||||
* | Intern Substitutions | Florian Diebold | 2021-04-08 | 1 | -1/+1 | |
| | | | | (Costs a bit of performance, reduces memory usage on RA by ~10%.) | |||||
* | Fix missing match arms | Florian Diebold | 2021-04-08 | 1 | -1/+3 | |
| | ||||||
* | InEnvironment::new takes a reference | Florian Diebold | 2021-04-07 | 1 | -2/+2 | |
| | ||||||
* | Make Canonical::new a free-standing function | Florian Diebold | 2021-04-07 | 1 | -1/+1 | |
| | ||||||
* | Move hir_trait_id to extension trait | Florian Diebold | 2021-04-07 | 1 | -1/+2 | |
| | ||||||
* | Remove Ty::substs{_mut} | Florian Diebold | 2021-04-07 | 1 | -8/+18 | |
| | | | | | | Almost all uses actually only care about ADT substs, so it's better to be explicit. The methods were a bad abstraction anyway since they already didn't include the inner types of e.g. `TyKind::Ref` anymore. | |||||
* | Free Ty::def_crates | Lukas Wirth | 2021-04-07 | 1 | -3/+3 | |
| | ||||||
* | Remove `SolutionVariables`, add ConstrainedSubst analogous to Chalk | Florian Diebold | 2021-04-06 | 1 | -4/+4 | |
| | | | | ... just missing the constraints. | |||||
* | Move Ty accessors to TyExt | Lukas Wirth | 2021-04-06 | 1 | -1/+1 | |
| | ||||||
* | 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 | |
| | |