Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Merge #8745 | bors[bot] | 2021-05-06 | 1 | -0/+12 |
|\ | | | | | | | | | | | | | | | | | 8745: Support goto_type_definition for types r=matklad a=Veykril I'm unsure if the approach of lowering an `ast::Type` to a `hir::Type` is a good idea, it seems fine to me at least. Fixes #2882 Co-authored-by: Lukas Tobias Wirth <[email protected]> | ||||
| * | Support goto_type_definition for types | Lukas Tobias Wirth | 2021-05-06 | 1 | -0/+12 |
| | | |||||
* | | Reuse database in LowerCtx | Jonas Schievink | 2021-05-06 | 2 | -4/+3 |
| | | |||||
* | | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 4 | -6/+7 |
| | | |||||
* | | 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 | 2 | -2/+2 |
| | | | | All def types in hir are unsubstituted | ||||
* | hir_ty: deal with TypeRef::Macro in HirFormatter | cynecx | 2021-04-17 | 1 | -3/+2 |
| | |||||
* | hir_ty: Expand macros at type position | cynecx | 2021-04-17 | 2 | -4/+9 |
| | |||||
* | 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 | 2 | -11/+21 |
| | | | | | | 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. | ||||
* | infer: remove `record_pat_field_resolutions` field | Jonas Schievink | 2021-04-06 | 1 | -4/+8 |
| | | | | | Same as https://github.com/rust-analyzer/rust-analyzer/pull/8376, this can be computed from other data | ||||
* | infer: remove `record_field_resolutions` field | Jonas Schievink | 2021-04-06 | 1 | -6/+9 |
| | | | | | It stores no useful data, since we can derive all fields from `variant_resolutions` | ||||
* | 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 | 3 | -6/+8 |
| | |||||
* | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 3 | -5/+5 |
| | |||||
* | Hide Binders internals more | Florian Diebold | 2021-04-05 | 2 | -4/+4 |
| | |||||
* | 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 | 2 | -4/+4 |
| | |||||
* | 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 |
| | |||||
* | Glob-reexport hir_def database types | Jonas Schievink | 2021-04-04 | 1 | -9/+1 |
| | |||||
* | Use bitflags to compress function properties | Jonas Schievink | 2021-04-03 | 2 | -12/+11 |
| | | | | 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. | ||||
* | Merge #8284 | bors[bot] | 2021-04-02 | 2 | -5/+5 |
|\ | | | | | | | | | | | | | | | 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 interning | Jonas Schievink | 2021-04-01 | 2 | -5/+5 |
| | | |||||
* | | Resolve associated types with type anchors | Lukas Wirth | 2021-04-01 | 1 | -10/+19 |
| | | |||||
* | | Resolve associated types | Lukas Wirth | 2021-04-01 | 2 | -4/+21 |
|/ |