Skip to content

move some attribute related structs out ot rustc_attr_ir - #161259

Open
mejrs wants to merge 11 commits into
rust-lang:mainfrom
mejrs:attr_structures
Open

move some attribute related structs out ot rustc_attr_ir#161259
mejrs wants to merge 11 commits into
rust-lang:mainfrom
mejrs:attr_structures

Conversation

@mejrs

@mejrs mejrs commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

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:
image

Graph with this PR:
image

r? @JonathanBrouwer

@rustbot

rustbot commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

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 @RalfJung, @oli-obk, @lcnr

clippy is developed in its own repository. If possible, consider making this change to rust-lang/rust-clippy instead.

cc @rust-lang/clippy

These commits modify the Cargo.lock file. Unintentional changes to Cargo.lock can be introduced when switching branches and rebasing PRs.

If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.

rustc_codegen_cranelift is developed in its own repository. If possible, consider making this change to rust-lang/rustc_codegen_cranelift instead.

cc @bjorn3

rustc_error_messages was changed

cc @TaKO8Ki

Some changes occurred to the CTFE / Miri interpreter

cc @rust-lang/miri

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Aug 17, 2026
@rust-log-analyzer

This comment has been minimized.

@rustbot

rustbot commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

miri is developed in its own repository. If the Miri part of this change can be broken out, consider making this change to rust-lang/miri instead. However, if Miri needs adjusting for rustc changes, just ignore this message.

cc @rust-lang/miri

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
   |

For more information about this error, try `rustc --explain E0432`.
[RUSTC-TIMING] priroda test:false 0.279
error: could not compile `priroda` (bin "priroda") due to 1 previous error
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] priroda test:true 0.284
error: could not compile `priroda` (bin "priroda" test) due to 1 previous error
Bootstrap failed while executing `check`
Currently active steps:
check::Priroda { compiler: CompilerForCheck { build_compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, rustc_rmeta_sysroot: Some(RmetaSysroot { host_dir: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc-rmeta-artifacts/host", target_dir: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-rustc-rmeta-artifacts/x86_64-unknown-linux-gnu" }), std_rmeta_sysroot: None }, target: x86_64-unknown-linux-gnu } at src/bootstrap/src/core/build_steps/check.rs:854
Build completed unsuccessfully in 0:03:21
  local time: Mon Aug 17 20:07:14 UTC 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants