aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove Ty::substs{_mut}Florian Diebold2021-04-076-52/+45
| | | | | | 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.
* Merge #8397bors[bot]2021-04-071-1/+1
|\ | | | | | | | | | | | | | | | | | | 8397: Return proper error code when server is loading r=matklad a=ceronman When requests are made to rust-analyzer and the server is still loading, a response error is returned with the code `ContentModified` and text `"Rust Analyzer is still loading..."`. This error code doesn't seem to be the more appropriate for this situation. Using `ServerNotInitialized` seems better. As this is such a small change, I have not created an issue for it. Co-authored-by: Manuel Ceron <[email protected]>
| * Return a better error message for when we are waiting for cargo.Manuel Ceron2021-04-071-1/+1
| |
* | Merge #8396bors[bot]2021-04-074-66/+64
|\ \ | |/ |/| | | | | | | | | | | | | 8396: Uncouple Ty::builtin_deref and Ty::def_crates from Ty r=Veykril a=Veykril bors r+ CC #8313 Co-authored-by: Lukas Wirth <[email protected]>
| * Free Ty::def_cratesLukas Wirth2021-04-072-57/+55
| |
| * Move Ty::builtin_derefLukas Wirth2021-04-072-9/+9
|/
* Merge #8394bors[bot]2021-04-072-33/+70
|\ | | | | | | | | | | | | | | 8394: Infer variants through type aliased enums r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * Infer variants through type aliased enumsLukas Wirth2021-04-072-33/+70
| |
* | Merge #8392bors[bot]2021-04-071-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8392: Add space after lifetime in expand macro r=edwin0cheng a=sharksforarms When a lifetime is followed by an ident, this lead to invalid syntax. This adds a whitespace between the lifetime and the identifier. Noticed this here: https://github.com/simrat39/rust-tools.nvim/issues/2#issuecomment-814551847 Co-authored-by: Emmanuel Thompson <[email protected]>
| * | Add space after lifetimeEmmanuel Thompson2021-04-071-0/+3
|/ / | | | | | | In macro expansion, this lead to invalid syntax
* | Merge #8390bors[bot]2021-04-074-33/+90
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8390: Support trait impls in unnamed consts r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7550 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Collect trait impls inside unnamed constsJonas Schievink2021-04-073-19/+61
| | |
| * | nameres: collect unnamed constsJonas Schievink2021-04-072-14/+29
|/ /
* | Merge #8389bors[bot]2021-04-071-0/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8389: Do not import on the fly during fields of record literal syntax r=SomeoneToIgnore a=memoryruins When only fields are relevant during record literal syntax (`Foo { field_$0 }`), RA already avoids completions of in-scope items, but with `rust-analyzer.completion.enableAutoimportCompletions` enabled, more than field names were eagerly suggested. This PR adds a case to `import_on_the_fly` to avoid the extra completions in this context. Closes #8300 Co-authored-by: memoryruins <[email protected]>
| * | Fix typomemoryruins2021-04-071-2/+2
| | |
| * | Do not import on the fly during fields of record literal syntaxmemoryruins2021-04-061-0/+43
|/ /
* | Merge #8382bors[bot]2021-04-068-85/+88
|\ \ | | | | | | | | | | | | | | | | | | | | | 8382: Make Fixture docs more accessible and fix small doc issues r=SomeoneToIgnore a=SomeoneToIgnore Follow up of https://github.com/rust-analyzer/rust-analyzer/pull/8302#discussion_r607054896 Co-authored-by: Kirill Bulatov <[email protected]>
| * | Adjust fixture docs a bitKirill Bulatov2021-04-063-61/+63
| | |
| * | Small grammar fixesKirill Bulatov2021-04-064-21/+22
| | |
| * | Update Zulip link and macro privacy statementKirill Bulatov2021-04-063-4/+4
| | |
* | | Merge #8387bors[bot]2021-04-067-33/+53
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8387: Remove `SolutionVariables`, add ConstrainedSubst analogous to Chalk r=flodiebold a=flodiebold ... just missing the constraints. Co-authored-by: Florian Diebold <[email protected]>
| * | | Remove `SolutionVariables`, add ConstrainedSubst analogous to ChalkFlorian Diebold2021-04-067-33/+53
|/ / / | | | | | | | | | ... just missing the constraints.
* | | Merge #8386bors[bot]2021-04-064-10/+74
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8386: Avoid O(n²) when constructing AttrSourceMap r=jonas-schievink a=jonas-schievink Brings https://github.com/rust-analyzer/rust-analyzer/issues/8377 down to 2.52s on my machine. Not quite back to where it was before, so I'll leave that issue open for now. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Avoid O(n²) when constructing AttrSourceMapJonas Schievink2021-04-064-10/+74
| | | |
* | | | Merge #8385bors[bot]2021-04-065-103/+85
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8385: Align `InferenceVar` to Chalk r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | | Align `InferenceVar` to ChalkFlorian Diebold2021-04-064-34/+48
| | | | |
| * | | | Clean up Chalk mapping a bitFlorian Diebold2021-04-061-69/+37
|/ / / /
* | | | Merge #8383bors[bot]2021-04-061-1/+1
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8383: Update Zulip URL r=lnicola a=lnicola bors r+ changelog skip Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | Update Zulip URLLaurențiu Nicola2021-04-061-1/+1
|/ / /
* | | Merge #8379bors[bot]2021-04-061-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8379: internal: document broken windows r=jonas-schievink a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: document broken windowsAleksey Kladov2021-04-061-0/+2
| | | |
* | | | Merge #8381bors[bot]2021-04-061-5/+4
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | 8381: Lower attributes on tuple fields r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Lower attributes on tuple fieldsJonas Schievink2021-04-061-5/+4
|/ / /
* | | Merge #8380bors[bot]2021-04-063-15/+9
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | 8380: infer: remove `record_pat_field_resolutions` field r=jonas-schievink a=jonas-schievink Same as https://github.com/rust-analyzer/rust-analyzer/pull/8376, this can be computed from other data bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | infer: remove `record_pat_field_resolutions` fieldJonas Schievink2021-04-063-15/+9
|/ / | | | | | | | | Same as https://github.com/rust-analyzer/rust-analyzer/pull/8376, this can be computed from other data
* | Merge #8371bors[bot]2021-04-061-32/+17
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 8371: Don't use HirDisplayWrapper when displaying SourceCode r=matklad a=Veykril The issue was basically that when displaying for `DisplayTarget::SourceCode` some `hir_fmt` functions would create `HirDisplayWrapper`s which would then `fmt` these triggering the Display panic since `fmt::Display` can't fail the same way as `HirDisplay`. Simple fix is to just use `hir_fmt` directly. Should probably write that down somewhere in source, looking for a good spot to put that right now. Fixes #8077, Fixes #8370 Co-authored-by: Lukas Wirth <[email protected]>
| * Panic when creating a HirDisplayWrapper with DisplayTarget::SourceCodeLukas Wirth2021-04-061-1/+5
| |
| * Don't use HirDisplayWrapper when displaying SourceCodeLukas Wirth2021-04-061-31/+12
| |
* | Merge #8376bors[bot]2021-04-068-40/+35
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8376: infer: remove `record_field_resolutions` field r=flodiebold a=jonas-schievink It stores no useful data, since we can derive all fields from `variant_resolutions` Co-authored-by: Jonas Schievink <[email protected]>
| * | infer: remove `record_field_resolutions` fieldJonas Schievink2021-04-068-40/+35
|/ / | | | | | | | | It stores no useful data, since we can derive all fields from `variant_resolutions`
* | Merge #8375bors[bot]2021-04-065-42/+110
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8375: feat: show errors from `cargo metadata` and initial `cargo check` in the status bar r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | feat: show errors from `cargo metadata` and initial `cargo check` in the ↵Aleksey Kladov2021-04-063-13/+63
| | | | | | | | | | | | | | | | | | status bar closes #3155
| * | Clearer namingAleksey Kladov2021-04-063-29/+47
| | |
* | | Merge #8374bors[bot]2021-04-062-8/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8374: Intern TypeRefs stored in Body r=jonas-schievink a=jonas-schievink Minor improvement to memory usage (1 MB or so) bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Intern TypeRefs stored in BodyJonas Schievink2021-04-062-8/+12
|/ / / | | | | | | | | | Minor improvement to memory usage (1 MB or so)
* | | Merge #8364bors[bot]2021-04-068-33/+54
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8364: Memory usage improvements r=jonas-schievink a=alexmaco These are mostly focused on splitting up enum variants with large size differences between variants by `Box`-ing things up. In my testing this reduces the memory usage somewhere in the low percentages, even though the measurements are quite noisy. Co-authored-by: Alexandru Macovei <[email protected]>
| * | | Avoid duplicating VfsPath in vfs::path_interner::PathInterner by using an ↵Alexandru Macovei2021-04-063-13/+18
| | | | | | | | | | | | | | | | IndexSet
| * | | Use Box'es to reduce the size of hir_def::expr::Pat from 112 to 64 bytes on ↵Alexandru Macovei2021-04-064-8/+14
| | | | | | | | | | | | | | | | 64bit
| * | | Use Box'es to reduce size of hir_def::expr::Expr from 128 to 72 bytes (on ↵Alexandru Macovei2021-04-063-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 64bit systems) Rationale: only a minority of variants used almost half the size. By keeping large members (especially in Option) behind a box the memory cost is only payed when the large variants are needed. This reduces the size Vec<Expr> needs to allocate.
* | | | Merge #8368bors[bot]2021-04-0614-226/+246
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8368: Move Ty accessors to TyExt r=flodiebold a=Veykril CC #8313 Co-authored-by: Lukas Wirth <[email protected]>