aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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.
| * | | internal: do not drop errors from cargo metadata/checkAleksey Kladov2021-04-064-51/+60
| | | | | | | | | | | | | | | | Work towards #3155
* | | | Add chalk_ir::Const to TyKind::ArrayLukas Wirth2021-04-0612-45/+109
|/ / /
* | | Use a constructor function for Static lifetimesLukas Wirth2021-04-066-49/+37
| | |
* | | Always use Static lifetimes in chalk mappingLukas Wirth2021-04-061-1/+2
| | |
* | | Add Lifetime to DynTyLukas Wirth2021-04-063-1/+5
| | |
* | | Add Lifetime to TyKind::RefLukas Wirth2021-04-0613-43/+74
|/ /
* | Fix shifting of binders in FnPointerFlorian Diebold2021-04-054-10/+23
| | | | | | | | | | | | | | | | | | - don't shift in/out for Chalk mapping (we want to have the same binders now) - do shift in when creating the signature for a closure (though it shouldn't matter much) - do shift in when lowering a `fn()` type - correctly deal with the implied binder in TypeWalk
* | Align FnPointer with ChalkFlorian Diebold2021-04-059-40/+86
| |
* | Substitution::prefix -> subst_prefixFlorian Diebold2021-04-054-11/+15
| | | | | | | | I probably want to get rid of this function completely later.
* | Get rid of Substitution::suffixFlorian Diebold2021-04-052-10/+6
| |
* | Remove some unused methods, move some to types.rsFlorian Diebold2021-04-052-29/+15
| |
* | Binders::wrap_empty -> wrap_empty_bindersFlorian Diebold2021-04-053-16/+12
| |
* | Substitution::single -> from1Florian Diebold2021-04-054-14/+17
| |
* | Move ProjectionTy methods to extension traitFlorian Diebold2021-04-057-32/+43
| |
* | Merge #8353bors[bot]2021-04-054-18/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | 8353: Replace hir_ty::Lifetime with chalk equivalent r=flodiebold a=Veykril Our `Lifetime` isn't really used yet so this is a rather simple change Co-authored-by: Lukas Wirth <[email protected]>
| * | Replace unused hir_ty::Lifetime with chalk equivalentsLukas Wirth2021-04-054-18/+50
| | |
* | | Merge #8352bors[bot]2021-04-051-9/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8352: Remove dead legacy macro expansion code r=lnicola a=brandondong I was investigating some unrelated macro issue when I noticed this dead code. This legacy macro expansion logic was changed in https://github.com/rust-analyzer/rust-analyzer/pull/8128. Co-authored-by: Brandon <[email protected]>
| * | | Remove dead legacy macro expansion codeBrandon2021-04-051-9/+3
| | | |
* | | | Merge #8351bors[bot]2021-04-051-22/+21
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8351: Use more assoc. type aliases in the chalk interner r=flodiebold a=jonas-schievink Makes it sligthly easier to swap out these types Co-authored-by: Jonas Schievink <[email protected]>
| * | | Use more assoc. type aliases in the chalk internerJonas Schievink2021-04-051-22/+21
| | | | | | | | | | | | | | | | Makes it sligthly easier to swap out these types
* | | | Merge #8350bors[bot]2021-04-053-13/+24
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 8350: internal: prepare to store OpQueue results in the queue itself r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: prepare to store OpQueue results in the queue itselfAleksey Kladov2021-04-053-13/+24
| | | |
* | | | Merge #8348bors[bot]2021-04-0520-228/+296
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8348: Make `Binders` more like Chalk r=flodiebold a=flodiebold Working towards #8313. - hide `value` - use `VariableKinds` - adjust `subst` to be like Chalk's `substitute` - also clean up some other `TypeWalk` stuff to prepare for it being replaced by Chalk's `Fold` Co-authored-by: Florian Diebold <[email protected]>