| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8318: Use shrink_to_fit to reduce DefMap sizes r=jonas-schievink a=jonas-schievink
Especially `block_def_map` can overallocate when there's not a lot of items in the `DefMap`. This saves around 10 MB during analysis-stats. Not too much, but a cheap win.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8315: Try to reduce ItemTree size further r=jonas-schievink a=jonas-schievink
This was mostly a failed experiment, but still seems like the right thing to do. Memory reduction is mostly negligible.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
| |
| |
| |
| | |
Very minor savings, only 1 MB or so
|
|/
|
|
| |
Minor savings only
|
|\
| |
| |
| |
| |
| |
| |
| | |
8312: cargo update r=kjeremy a=kjeremy
Co-authored-by: Jeremy Kolb <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
8310: Rename Ty::interned to Ty::kind r=flodiebold a=flodiebold
... since that's the actual method on Chalk side that matches the signature.
Co-authored-by: Florian Diebold <[email protected]>
|
|/
|
|
| |
... since that's the actual method on Chalk side that matches the signature.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8309: Introduce `GenericArg` like in Chalk r=flodiebold a=flodiebold
Plus some more adaptations to Substitution.
Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters.
Co-authored-by: Florian Diebold <[email protected]>
|
|/
|
|
|
|
|
| |
Plus some more adaptations to Substitution.
Lots of `assert_ty_ref` that we should revisit when introducing
lifetime/const parameters.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8307: Allow include! an empty content file r=edwin0cheng a=edwin0cheng
fixes #8306
bors r+
Co-authored-by: Edwin Cheng <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8305: Fix joinLines panic if run on the empty last line r=edwin0cheng a=edwin0cheng
fixes #8299
bors r+
Co-authored-by: Edwin Cheng <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8304: Support the new `panic!()` macro r=jonas-schievink a=jonas-schievink
Includes a minor fixup to macro 2.0 parsing.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8303: Allow interning strings r=jonas-schievink a=jonas-schievink
We don't use it yet, that's a bit more complicated.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8298: Stop using an upgradeable read lock in interning r=jonas-schievink a=jonas-schievink
Only one upgradeable read lock can be handed out at the same time, and
we never acquire a non-upgradeable read lock, so this has no benefit
over just using a write lock in the first place.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/
|
|
|
|
| |
Only one upgradeable read lock can be handed out at the same time, and
we never acquire a non-upgradeable read lock, so this has no benefit
over just using a write lock in the first place.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8297: Only populate prelude for crate-level DefMaps r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8281
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
8284: Reduce memory usage by using global `Arc`-based interning r=jonas-schievink a=jonas-schievink
This saves around 50 mb when running `analysis-stats` on r-a itself. Not a lot, but this infra can be easily reused to intern more stuff.
Co-authored-by: Jonas Schievink <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
8291: Put the revision in the startup message r=jonas-schievink a=lf-
Co-authored-by: Jade <[email protected]>
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8287: Don't allocate in `associated_type_shorthand_candidates` r=Veykril a=Veykril
Co-authored-by: Lukas Wirth <[email protected]>
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
8294: minor: add profile call for resolve_obligations r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
8293: internal: document style for helper functions and variables r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
8285: Don't recheck obligations if we have learned nothing new r=matklad a=flodiebold
This is just the most trivial check: If no inference variables have been updated, and there are no new obligations, we can just skip trying to solve them again. We could be smarter about it, but this already helps quite a bit, and I don't want to touch this too much before we replace the inference table by Chalk's.
Fixes #8263 (well, improves it quite a bit).
Co-authored-by: Florian Diebold <[email protected]>
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is just the most trivial check: If no inference variables have been
updated, and there are no new obligations, we can just skip trying to
solve them again. We could be smarter about it, but this already helps
quite a bit, and I don't want to touch this too much before we replace
the inference table by Chalk's.
Fixes #8263 (well, improves it quite a bit).
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8292: internal: document Cargo.lock maintenance process r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | | |
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8265: Improve rustc diagnostic mapping r=jonas-schievink a=jonas-schievink
Try to mirror rustc diagnostics more closely by:
* Emitting hint-level diagnostics at *all* macro invocation sites that caused the diagnostic
* Previously we emitted a copy of the diagnostic (not at hint level) at the last macro invocation site only
* Emitting the original diagnostic inside the macro, if it was caused by a macro
* Always including related information pointing to the invocation site or the macro, respectively (the old code contained a bug that would sometimes omit it)
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8260
![screenshot-2021-03-30-19:34:56](https://user-images.githubusercontent.com/1786438/113031484-1266a600-918f-11eb-9164-fed01c8ba37e.png)
![screenshot-2021-03-30-19:35:10](https://user-images.githubusercontent.com/1786438/113031486-12ff3c80-918f-11eb-8f15-9d7f23b69653.png)
Co-authored-by: Jonas Schievink <[email protected]>
Co-authored-by: Jonas Schievink <[email protected]>
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
8283: Resolve associated types r=flodiebold a=Veykril
Prior we were only resolving paths until the first type was found, then discarding the result if the path wasn't fully consumed. That of course causes associated types to not resolve. Fixes #5003
Co-authored-by: Lukas Wirth <[email protected]>
|