Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #8945 | bors[bot] | 2021-05-23 | 3 | -14/+17 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 8945: fix: Make expected type work in more situations r=flodiebold a=flodiebold Also makes call info show the correct types for generic methods. ![2021-05-23-182952_1134x616_scrot](https://user-images.githubusercontent.com/906069/119269023-dd5a5b00-bbf5-11eb-993a-b6e122c3b9a6.png) ![2021-05-23-183117_922x696_scrot](https://user-images.githubusercontent.com/906069/119269025-dfbcb500-bbf5-11eb-983c-fc415b8428e0.png) Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Get rid of field_type again | Florian Diebold | 2021-05-23 | 3 | -18/+11 |
| | | |||||
| * | Infer correct expected type for generic struct fields | Florian Diebold | 2021-05-23 | 1 | -3/+15 |
| | | |||||
| * | Record method call substs and use them in call info | Florian Diebold | 2021-05-23 | 2 | -7/+5 |
| | | |||||
* | | Correctly resolve crate name in use paths when import shadows itself | Lukas Tobias Wirth | 2021-05-23 | 1 | -1/+10 |
|/ | |||||
* | Give ‘unsafe’ semantic token modifier to unsafe traits | Aramis Razzaghipour | 2021-05-23 | 1 | -0/+4 |
| | |||||
* | Paper over #8931 a bit more | Florian Diebold | 2021-05-23 | 1 | -2/+3 |
| | | | | | | | | | The problem was the skipping of binders in `resolve_method_call_as_callable`; this still doesn't use the _correct_ substitution, but at least it doesn't return a type with free variables in it. Fixes #8931. | ||||
* | Add test for #8931 and better checking | Florian Diebold | 2021-05-23 | 1 | -2/+2 |
| | |||||
* | Add more docs | Aleksey Kladov | 2021-05-22 | 2 | -3/+10 |
| | |||||
* | 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 |
| | |||||
* | Simplify eager macro representation | Jonas Schievink | 2021-05-19 | 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 |
| | |||||
* | 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 |
| |