Skip to content

Removing .rc from the manual - #7891

Closed
MaikKlein wants to merge 4 commits into
rust-lang:masterfrom
MaikKlein:master
Closed

Removing .rc from the manual#7891
MaikKlein wants to merge 4 commits into
rust-lang:masterfrom
MaikKlein:master

Conversation

@MaikKlein

Copy link
Copy Markdown
Contributor

No description provided.

Comment threaddoc/rust.md Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: no need for backticks here, "source" and "crate" are not code examples.

@graydon

Copy link
Copy Markdown
Contributor

Hey, thanks. This is pretty good but I was wondering if you could go further even and rework the paragraph to just not mention "crate files" at all anymore. It's a defunct concept. Rust compiles source files only, a "crate" is just the tree of source files formed by following inter-file mod references.

@thestinger

Copy link
Copy Markdown
Contributor

Landing with #7897 (as one commit).

flip1995 pushed a commit to flip1995/rust that referenced this pull request Nov 4, 2021
…afe_blocks, r=flip1995
Fix ice in `undocumented_unsafe_blocks`
Fixrust-lang/rust-clippy#7868
changelog: Fix ice in [`undocumented_unsafe_blocks`]
U007D pushed a commit to U007D/rust-mos that referenced this pull request Aug 21, 2026
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 rust-lang#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 <36049421+DJMcNab@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@MaikKlein@graydon@thestinger@pcwalton