Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #8945 | bors[bot] | 2021-05-23 | 1 | -3/+6 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -2/+5 |
| | | |||||
| * | Record method call substs and use them in call info | Florian Diebold | 2021-05-23 | 1 | -1/+1 |
| | | |||||
* | | Correctly resolve crate name in use paths when import shadows itself | Lukas Tobias Wirth | 2021-05-23 | 1 | -1/+10 |
|/ | |||||
* | Reuse database in LowerCtx | Jonas Schievink | 2021-05-06 | 1 | -3/+2 |
| | |||||
* | Don't store call-site text offsets in hygiene info | Jonas Schievink | 2021-05-06 | 1 | -3/+4 |
| | |||||
* | hir_ty: Expand macros at type position | cynecx | 2021-04-17 | 1 | -3/+6 |
| | |||||
* | Remove Ty::substs{_mut} | Florian Diebold | 2021-04-07 | 1 | -3/+3 |
| | | | | | | 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. | ||||
* | 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` | ||||
* | Add Interner parameter to Binders::substitute | Florian Diebold | 2021-04-05 | 1 | -2/+2 |
| | |||||
* | Binders::subst -> substitute | Florian Diebold | 2021-04-05 | 1 | -1/+1 |
| | |||||
* | Resolve associated types with type anchors | Lukas Wirth | 2021-04-01 | 1 | -10/+19 |
| | |||||
* | Resolve associated types | Lukas Wirth | 2021-04-01 | 1 | -2/+17 |
| | |||||
* | avoid converting types into themselves via .into() (clippy::useless-conversion) | Matthias Krüger | 2021-03-17 | 1 | -1/+1 |
| | | | | example: let x: String = String::from("hello world").into(); | ||||
* | Rename Substs -> Substitution | Florian Diebold | 2021-03-16 | 1 | -2/+2 |
| | |||||
* | Simplify source maps for fields | Aleksey Kladov | 2021-03-15 | 1 | -21/+3 |
| | |||||
* | Goto definition works for `S { a: }` case | Aleksey Kladov | 2021-03-15 | 1 | -3/+22 |
| | | | | | | | | | | | | | What happens here is that we lower `: ` to a missing expression, and then correctly record that the corresponding field expression resolves to a specific field. Where we fail is in the mapping of syntax to this missing expression. Doing it via `ast_field.expr()` fails, as that expression is `None`. Instead, we go in the opposite direcition and ask each lowered field about its source. This works, but has wrong complexity `O(N)` and, really, the implementation is just too complex. We need some better management of data here. | ||||
* | Remove useless code_model indirection | Aleksey Kladov | 2021-03-08 | 1 | -3/+2 |
| | |||||
* | Inline TypeCtor into Ty | Lukas Wirth | 2021-02-28 | 1 | -11/+5 |
| | |||||
* | Wrap `BuiltinType` in code model | Jonas Schievink | 2021-02-11 | 1 | -4/+5 |
| | |||||
* | Resolve TupleStructPat in SourceAnalyzer::resolve_path | Lukas Wirth | 2021-02-10 | 1 | -6/+11 |
| | |||||
* | Prefer ValueNS when resolving hir path for PathExpressions | Lukas Wirth | 2021-01-29 | 1 | -14/+31 |
| | |||||
* | Classify function calls as functions when shadowed by types | Lukas Wirth | 2021-01-28 | 1 | -2/+6 |
| | |||||
* | Add ConstParams to the HIR | Lukas Wirth | 2021-01-01 | 1 | -0/+1 |
| | |||||
* | Align code_model name with ungrammar | Aleksey Kladov | 2020-12-20 | 1 | -9/+9 |
| | |||||
* | Improve code structure | Aleksey Kladov | 2020-12-11 | 1 | -1/+1 |
| | | | | | Make sure that there's only one entry point, analyze, remove awkard analyzer2 name | ||||
* | Rename record_field_pat to record_pat_field | Pavan Kumar Sunkara | 2020-09-10 | 1 | -2/+2 |
| | |||||
* | Don't expose hir::Path out of hir | Aleksey Kladov | 2020-08-15 | 1 | -3/+3 |
| | | | | | | | | | | | | | | Conjecture: it's impossible to use hir::Path *correctly* from an IDE. I am not entirely sure about this, and we might need to add it back at some point, but I have to arguments that convince me that we probably won't: * `hir::Path` has to know about hygiene, which an IDE can't set up properly. * `hir::Path` lacks identity, but you actually have to know identity to resolve it correctly | ||||
* | Rename ra_hir -> hir | Aleksey Kladov | 2020-08-13 | 1 | -0/+534 |