move some attribute related structs out of rustc_attr_ir - #161259
Conversation
|
Some changes occurred in compiler/rustc_passes/src/check_attr.rs cc @jdonszelmann, @JonathanBrouwer Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt Some changes occurred in compiler/rustc_attr_parsing cc @jdonszelmann, @JonathanBrouwer Some changes occurred in compiler/rustc_attr_ir cc @jdonszelmann, @JonathanBrouwer Some changes occurred to the CTFE machinery
cc @rust-lang/clippy These commits modify the If this was unintentional then you should revert the changes before this PR is merged.
cc @bjorn3
cc @TaKO8Ki Some changes occurred to the CTFE / Miri interpreter cc @rust-lang/miri |
This comment has been minimized.
This comment has been minimized.
|
cc @rust-lang/miri |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
4305e6c to
cf98f58
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
^ Rebased, |
| @@ -0,0 +1,15 @@ | |||
| //! Basic structs that end up being used in attributes for one reason or another, | |||
There was a problem hiding this comment.
This change is great, the only thing I'm iffy about is the name rustc_structures. The name is accurate because it's basically a lot of structs that don't have anything in common stuffed into a crate, but I'm also not sure how to feel about this concept.
I can't think of a better name and I don't want to start a bikeshedding session, so let's merge this if it improves bootstrap times, I'll do some measurements locally
|
On my pc running
|
|
@bors r+ p=1 note=bitrotty |
…rouwer move some attribute related structs out of rustc_attr_ir This changes it so that - rustc_session no longer depends on rustc_attr_ir - rustc_attr_ir no longer depends on rustc_target (which is a fairly sizeable crate) - rustc_attr_ir and rustc_target can compile in parallel Previous graph: <img width="985" height="512" alt="image" src="https://github.com/user-attachments/assets/cbde2414-043e-45f2-88a2-f77a5c9df60c" /> Graph with this PR: <img width="1248" height="474" alt="image" src="https://github.com/user-attachments/assets/e0e13794-b17b-4337-8768-f0191cb1c0e6" /> r? @JonathanBrouwer
…rouwer move some attribute related structs out of rustc_attr_ir This changes it so that - rustc_session no longer depends on rustc_attr_ir - rustc_attr_ir no longer depends on rustc_target (which is a fairly sizeable crate) - rustc_attr_ir and rustc_target can compile in parallel Previous graph: <img width="985" height="512" alt="image" src="https://github.com/user-attachments/assets/cbde2414-043e-45f2-88a2-f77a5c9df60c" /> Graph with this PR: <img width="1248" height="474" alt="image" src="https://github.com/user-attachments/assets/e0e13794-b17b-4337-8768-f0191cb1c0e6" /> r? @JonathanBrouwer
…rouwer move some attribute related structs out of rustc_attr_ir This changes it so that - rustc_session no longer depends on rustc_attr_ir - rustc_attr_ir no longer depends on rustc_target (which is a fairly sizeable crate) - rustc_attr_ir and rustc_target can compile in parallel Previous graph: <img width="985" height="512" alt="image" src="https://github.com/user-attachments/assets/cbde2414-043e-45f2-88a2-f77a5c9df60c" /> Graph with this PR: <img width="1248" height="474" alt="image" src="https://github.com/user-attachments/assets/e0e13794-b17b-4337-8768-f0191cb1c0e6" /> r? @JonathanBrouwer
…uwer Rollup of 16 pull requests Successful merges: - #161259 (move some attribute related structs out of rustc_attr_ir) - #160853 (delegation: simplify matches on `FnKind`, minor refactorings) - #159899 ( `GenericArgs::types` triage + possible fixes) - #160459 (Use attribute parser for `deprecated` attribute checking) - #160813 (Optimize linked list iterator performance) - #161271 (doc: document safety requirements for core WTF-8) - #161317 (LLVM 24: configure float-abi via module flag) - #161320 (Only suggest `RUST_MIN_STACK` if maybe stack overflow) - #161369 (Add regression test for confusing lifetime error message issue) - #161393 (Configure LLM policy URL for triagebot) - #161403 (splat-fn-ptr-ptr-tuple.rs: add `let` to avoid UB) - #161409 (Add back `tests/rustdoc-gui/notable-trait.goml` test) - #161410 (Fix rustdoc remapping `documentation` scope documentation) - #161415 (Update expect messages in path docs to better follow guidelines) - #161438 (Change triagebot backport to ping T-libs-fcp) - #161442 (Add regression test for dead code on type alias used in impl self type) Failed merges: - #160509 (Remove `RegionExt`; move methods to `Region` in `rustc_type_ir`)
…rouwer move some attribute related structs out of rustc_attr_ir This changes it so that - rustc_session no longer depends on rustc_attr_ir - rustc_attr_ir no longer depends on rustc_target (which is a fairly sizeable crate) - rustc_attr_ir and rustc_target can compile in parallel Previous graph: <img width="985" height="512" alt="image" src="https://github.com/user-attachments/assets/cbde2414-043e-45f2-88a2-f77a5c9df60c" /> Graph with this PR: <img width="1248" height="474" alt="image" src="https://github.com/user-attachments/assets/e0e13794-b17b-4337-8768-f0191cb1c0e6" /> r? @JonathanBrouwer
Rollup of 20 pull requests Successful merges: - #161259 (move some attribute related structs out of rustc_attr_ir) - #160853 (delegation: simplify matches on `FnKind`, minor refactorings) - #161161 (proc_macro: add support for 16-bit targets) - #159899 ( `GenericArgs::types` triage + possible fixes) - #160459 (Use attribute parser for `deprecated` attribute checking) - #160536 (Inline `String::into_raw_parts` and reuse `from_utf16` optimization) - #160563 (Make `BorrowedCursor<'a, T>` covariant in `'a` and drop an indirection) - #160595 (Clarify `str::split_at` docs) - #160813 (Optimize linked list iterator performance) - #161271 (doc: document safety requirements for core WTF-8) - #161317 (LLVM 24: configure float-abi via module flag) - #161320 (Only suggest `RUST_MIN_STACK` if maybe stack overflow) - #161369 (Add regression test for confusing lifetime error message issue) - #161393 (Configure LLM policy URL for triagebot) - #161403 (splat-fn-ptr-ptr-tuple.rs: add `let` to avoid UB) - #161409 (Add back `tests/rustdoc-gui/notable-trait.goml` test) - #161410 (Fix rustdoc remapping `documentation` scope documentation) - #161415 (Update expect messages in path docs to better follow guidelines) - #161438 (Change triagebot backport to ping T-libs-fcp) - #161442 (Add regression test for dead code on type alias used in impl self type) Failed merges: - #160509 (Remove `RegionExt`; move methods to `Region` in `rustc_type_ir`)
This changes it so that
Previous graph:

Graph with this PR:

r? @JonathanBrouwer