aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Rewrite, reparse modified fileJonas Schievink2021-04-071-49/+114
| | | | | |
| * | | | | simplifyJonas Schievink2021-04-071-8/+6
| | | | | |
| * | | | | Use stdx::alwaysJonas Schievink2021-04-071-5/+5
| | | | | |
| * | | | | Complete braces more aggressivelyJonas Schievink2021-04-071-20/+35
| | | | | |
| * | | | | Autoclose blocks when typing `{`Jonas Schievink2021-04-073-3/+47
| |/ / / /
* | / / / Move `equals_ctor` to `TyExt`Florian Diebold2021-04-073-33/+37
| |/ / / |/| | | | | | | | | | | | | | | | | | | I'd prefer getting rid of it, but it's used in the impl search and not super easy to replace there (I think ideally the impl search would do proper unification, but that's a bit more complicated).
* | | | Merge #8402bors[bot]2021-04-076-52/+45
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8402: Remove Ty::substs{_mut} r=flodiebold a=flodiebold 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. Co-authored-by: Florian Diebold <[email protected]>
| * | | | 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.
* / / / Update crateskjeremy2021-04-071-1/+1
|/ / /
* | | 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
| | | |
* | | | 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
| | | |
* | | | Add space after lifetimeEmmanuel Thompson2021-04-071-0/+3
| | | | | | | | | | | | | | | | In macro expansion, this lead to invalid syntax
* | | | Collect trait impls inside unnamed constsJonas Schievink2021-04-073-19/+61
| | | |
* | | | nameres: collect unnamed constsJonas Schievink2021-04-072-14/+29
| | | |
* | | | 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-062-60/+62
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-062-60/+62
| | | | |
* | | | | 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
| |/ / / /
* | | | | Align `InferenceVar` to ChalkFlorian Diebold2021-04-064-34/+48
| | | | |
* | | | | Clean up Chalk mapping a bitFlorian Diebold2021-04-061-69/+37
|/ / / /
* | | | Lower attributes on tuple fieldsJonas Schievink2021-04-061-5/+4
| | | |
* | | | 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
| | | |
* | | | 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
| | | | |
* | | | | Intern TypeRefs stored in BodyJonas Schievink2021-04-062-8/+12
| | | | | | | | | | | | | | | | | | | | Minor improvement to memory usage (1 MB or so)
* | | | | Merge #8364bors[bot]2021-04-067-33/+53
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-062-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * | | | | | Remove TyExt::dyn_trait_refLukas Wirth2021-04-061-10/+4
| | | | | | |
| * | | | | | Move Ty accessors to TyExtLukas Wirth2021-04-0614-226/+252
| | |_|/ / / | |/| | | |
* | | | | | Merge #8355bors[bot]2021-04-068-194/+226
|\ \ \ \ \ \ | |/ / / / / |/| | / / / | | |/ / / | |/| | | | | | | | | | | | | | | | | | 8355: internal: do not drop errors from cargo metadata/check r=matklad a=matklad Work towards #3155 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | More robust status notificationsAleksey Kladov2021-04-067-108/+119
| | | | |
| * | | | Prepare for more stateless status reportingAleksey Kladov2021-04-062-35/+36
| | | | |
| * | | | Use autoreload config to gate execution rather that stalenessAleksey Kladov2021-04-062-7/+8
| | | | |
| * | | | Avoid duplicate `cargo check`sAleksey Kladov2021-04-061-1/+12
| | | | |
| * | | | Improve readabilityAleksey Kladov2021-04-061-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | It's better to order functions in the order they are called, if there's ordering between them.