| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Contributors don't need to learn about `cargo xtask codegen` if `cargo
test` just does the right thing.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7891: Improve handling of rustc_private r=matklad a=DJMcNab
This PR changes how `rust-analyzer` handles `rustc_private`. In particular, packages now must opt-in to using `rustc_private` in `Cargo.toml`, by adding:
```toml
[package.metadata.rust-analyzer]
rustc_private=true
```
This means that depending on crates which also use `rustc_private` will be significantly improved, since their dependencies on the `rustc_private` crates will be resolved properly.
A similar approach could be used in #6714 to allow annotating that your package uses the `test` crate, although I have not yet handled that in this PR.
Additionally, we now only index the crates which are transitive dependencies of `rustc_driver` in the `rustcSource` directory. This should not cause any change in behaviour when using `rustcSource: "discover"`, as the source used then will only be a partial clone. However, if `rustcSource` pointing at a local checkout of rustc, this should significantly improve the memory usage and lower indexing time. This is because we avoids indexing all crates in `src/tools/`, which includes `rust-analyzer` itself.
Furthermore, we also prefer named dependencies over dependencies from `rustcSource`. This ensures that feature resolution for crates which are depended on by both `rustc` and your crate uses the correct set for analysing your crate.
See also [introductory zulip stream](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/Fixed.20crate.20graphs.20and.20optional.20builtin.20crates/near/229086673)
I have tested this in [priroda](https://github.com/oli-obk/priroda/), and it provides a significant improvement to the development experience (once I give `miri` the required data in `Cargo.toml`)
Todo:
- [ ] Documentation
This is ready to review, and I will add documentation if this would be accepted (or if I get time to do so anyway)
Co-authored-by: Daniel McNab <[email protected]>
|
| | |
|
| |
| |
| |
| | |
This reverts commit ddce6bb282764692d53b719bff4c37e3512d4556.
|
| | |
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
7889: Make group imports configurable r=lnicola a=asv1
Co-authored-by: asv <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
7868: Migrate to user-centric config name for `cargo check` stuff r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
(The type was renamed/moved in 8716c4cec3a05ba891b20b5f28df69d925b913ad)
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
7643: Automatically detect the rustc-src directory (fixes #3517) r=matklad a=bnjbvr
If the configured rustcSource was not set, then try to automatically
detect a source for the sysroot rustc directory.
I wasn't sure how to do it in the case of the project.json file, though.
7663: Tolerate spaces in nix binary patching r=matklad a=CertainLach
If path to original file contains space (I.e on code insiders, where
default data directory is ~/Code - Insiders/), then there is syntax
error evaluating src arg.
Instead pass path as str, and coerce to path back in nix expression
Co-authored-by: Benjamin Bouvier <[email protected]>
Co-authored-by: Yaroslav Bolyukin <[email protected]>
|
| |
| |
| |
| |
| | |
If the configured rustcSource is set to "discover", try to automatically
detect a source from the sysroot rustc directory.
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
7653: Document config pattern r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|/
|
|
| |
see https://github.com/rust-lang/rust/issues/79202
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
7592: [Doc] Note about Eclipse IDE support r=lnicola a=mickaelistria
Co-authored-by: Mickael Istria <[email protected]>
|
| | |
|
| |
| |
| |
| |
| |
| | |
`vim-lsp` is another popular LSP client for Vim. And, as there is no
`rust-analyzer` specific UI, it is non-trivial to figure out how the
initial configuration is performed.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Typo
|
|
|
|
|
|
| |
Use `npm ci` instead of `npm install`. `npm install` will overwrite
the lock file if you have a newer npm version than the one that
generated the package-lock.json
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I think line 235 is still wrong, but I am not sure.
Is the `crated/tt` in line 252 supposed to be `crates/tt`?
|
| |
|
|
|
|
| |
Call out boundaries and invariants
|
| |
|
| |
|
| |
|
| |
|
| |
|