| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7557: Intern `TypeRef`s in the containing `ItemTree` r=jonas-schievink a=jonas-schievink
This reduces the memory used by `ItemTreeQuery` by ~20%. As it turns out, `TypeRef` is very heavy, and is used a lot in `ItemTree`:
* Many types are frequently repeated throughout the same file. This is what this PR addresses by storing identical `TypeRef`s only once per `ItemTree`.
* The vast majority of `TypeRef` consist of a plain path with only a single element. "Type anchors" like in `<Ty>::func` are used incredibly rarely, and even multi-segment paths are much rarer than single-segment paths.
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7555: Expander: store a LocalModuleId, not ModuleId r=jonas-schievink a=jonas-schievink
It already stores the DefMap containing the module, so having
a full ModuleId is unnecessary and makes it easier to mix things up
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/
|
|
|
| |
It already stores the DefMap containing the module, so having
a full ModuleId is unnecessary and makes it easier to mix things up
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7554: Don't keep the parent DefMap alive via Arc r=jonas-schievink a=jonas-schievink
This seems like it could easily leak a lot of memory since we don't
currently run GC
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/
|
|
|
| |
This seems like it could easily leak a lot of memory since we don't
currently run GC
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
7553: More architecture.md r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7547: Split out ItemScope::dump from DefMap::dump r=jonas-schievink a=jonas-schievink
This is helpful for more targeted debugging
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
7546: Add newline between block and crate maps r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
7545: Add a FIXME to ItemTree r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
7544: Update `DefMap` and `block_def_map` docs r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
7543: Grammar fixes r=Kushagra-0801 a=Kushagra-0801
I think line 235 is still wrong, but I am not sure.
Is the `crated/tt` in line 252 supposed to be `crates/tt`?
Co-authored-by: Kushagra Gupta <[email protected]>
|
| | |
|
|/
|
|
|
| |
I think line 235 is still wrong, but I am not sure.
Is the `crated/tt` in line 252 supposed to be `crates/tt`?
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7541: Use block_def_map in body lowering (third time's the charm) r=jonas-schievink a=jonas-schievink
After https://github.com/rust-analyzer/rust-analyzer/pull/7380 and https://github.com/rust-analyzer/rust-analyzer/pull/7506 both had to be reverted, this should have finally resolved all remaining bugs.
Most importantly, the optimization to skip `block_def_map` computation when the block contains no inner items was fixed (which fortunately was simpler than expected).
I've ran `analysis-stats` on libstd locally, which works fine, and also ran this PR locally for a short while without issues.
Note that this *still* has no (or almost no) user-facing impact, because the rest of r-a still relies on some local item support hacks.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
| | |
|
| |
| |
| |
| |
| | |
This previously didn't work, but apparently only because of the wonky
test setup
|
| |
| |
| |
| | |
Removes the hacky and buggy custom lowering code
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
7539: Add cargo file tidy test r=edwin0cheng a=edwin0cheng
bors r+
cc @pksunkara
Co-authored-by: Edwin Cheng <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
7538: Make sure normal dependencies always have version r=edwin0cheng a=pksunkara
How do I prevent this happening in the future by doing something in the CI? IIRC this is the second time.
Co-authored-by: Pavan Kumar Sunkara <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
7537: Fix spelling mistakes in docs/dev r=Veykril a=Veykril
Also adds a line for `crates/cfg` and `crates/stdx` to the architecture.
bors r+
Co-authored-by: Lukas Wirth <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
7536: Make architecture more informative r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| | |
Call out boundaries and invariants
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
7528: Update mimalloc r=kjeremy a=kjeremy
Co-authored-by: kjeremy <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7525: Fix resolution of `crate` paths from within blocks r=jonas-schievink a=jonas-schievink
They resolve to the crate root, not the DefMap's root module (which
can be a block)
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/
|
|
|
| |
They resolve to the crate root, not the DefMap's root module (which
can be a block)
|
|\
| |
| |
| |
| |
| |
| |
| | |
7523: Bump chalk and rustc_lexer r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7522: Use non-deprecated memmap2 crate r=kjeremy a=kjeremy
`cargo audit` complains that `memmap` is unmaintained so switch to
RazrFalcon's maintained version.
Removes yet another edge on winapi
Co-authored-by: kjeremy <[email protected]>
|
|/
|
|
|
|
|
| |
`cargo audit` complains that `memmap` is unmaintained so switch to
RazrFalcon's maintained version.
Removes yet another edge on winapi
|
|\
| |
| |
| |
| |
| |
| |
| | |
7521: cargo update r=kjeremy a=kjeremy
Pulls in soundness fix from rowan.
Co-authored-by: kjeremy <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7520: Show alias underlying type r=lnicola a=lumenian
Closes #7511
Display underlying type in the tooltip:
```rust
pub type SomeAlias = f64
```
instead of:
```rust
pub type SomeAlias
```
Co-authored-by: lumenian <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
7519: add useless types to the styleguide r=matklad a=matklad
bors r+
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7518: Use the right `DefMap` when looking up modules r=jonas-schievink a=jonas-schievink
Fixes the bugs encountered in https://github.com/rust-analyzer/rust-analyzer/pull/7506#issuecomment-771417467
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
|
|/ |
|