Skip to content

replace TypingEnv::post_analysis() with mir::Body::typing_env() - #164077

Open
adwinwhite wants to merge 1 commit into
rust-lang:mainfrom
adwinwhite:phase-hack
Open

adwinwhite wants to merge 1 commit into
rust-lang:mainfrom
adwinwhite:phase-hack

Conversation

@adwinwhite

@adwinwhite adwinwhite commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

View all comments

This PR fixes the correspondence between typing modes and MIR phases so that some passes don't have to fix that inconsistency themselves.

Similar to #163745

We should discourage constructing a typing env by hand when it can be derived from context.
This simplifies reasoning and reduces the mistake of not resetting rigidness markers across typing envs.

r? lcnr

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Oct 10, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

Comment thread compiler/rustc_middle/src/mir/mod.rs Outdated
match self.phase {
MirPhase::Built | MirPhase::Analysis(_) => TypingEnv::new(
match self.typing_mode {
BodyTypingMode::Borrowck | BodyTypingMode::PostBorrowck => TypingEnv::new(

@lcnr lcnr Oct 12, 2026 •

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.

when do we encounter this?

View changes since the review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The initial mode is BodyTypingMode::Borrowck. After mir_borrowck, we set it to PostBorrowck.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

promote_consts pass would use BodyTypingMode::Borrowck since it's run before borrowck.

Comment thread compiler/rustc_middle/src/mir/mod.rs Resolved
Comment thread compiler/rustc_middle/src/mir/mod.rs Outdated
StableHash,
TypeFoldable,
TypeVisitable
)]

@lcnr lcnr Oct 12, 2026 •

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.

should also have a comment, or maybe just change the field to go "see [BodyTypingMode] for more info"

also, mind splitting the derive in two so that it doesn't get spread out like this

View changes since the review

@adwinwhite
adwinwhite force-pushed the phase-hack branch 2 times, most recently from 5e23058 to 23a44a9 Compare October 19, 2026 07:51
@adwinwhite
adwinwhite marked this pull request as ready for review October 19, 2026 07:53
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 19, 2026
@rustbot

rustbot commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Oct 19, 2026
@rust-bors

This comment has been minimized.

Comment thread compiler/rustc_middle/src/mir/mod.rs Outdated
#[derive(Copy, Clone, PartialEq, Debug)]
#[derive(TyEncodable, TyDecodable, StableHash, TypeFoldable, TypeVisitable)]
pub enum BodyTypingMode {
Borrowck,

@lcnr lcnr Oct 29, 2026 •

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.

Suggested change
Borrowck,
PostTypeckThroughBorrowck,

? 🤔

View changes since the review

// This branch happens for drop glue and fn ptr shims.
// FIXME: why do we do any of this analysis on drop glue etc?
// This should ideally all be skipped.
TypingEnv::post_analysis(tcx, self.source.def_id())

@lcnr lcnr Oct 29, 2026 •

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.

should this be the case or could we change drop glue and fn ptr shims to just start out in TypingMode::PostAnalysis?

View changes since the review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We already use PostAnalysis mode for them. I guess this branch is actually useless.

Comment thread compiler/rustc_mir_transform/src/lib.rs Outdated

debug!("runtime_mir_cleanup({:?})", did);
run_runtime_cleanup_passes(tcx, body);
assert!(body.typing_mode == BodyTypingMode::PostAnalysis, "{:?}", body.typing_mode);

@lcnr lcnr Oct 29, 2026 •

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.

why no assert_eq! here?

also gives free good ICE diagnostics 🤔

View changes since the review

// We try to guard against future MIR building procedures that don't go through the usual
// lowering. The final validation is expected to run in `TypingMode::PostAnalysis`.
if new_phase == MirPhase::Runtime(RuntimePhase::Optimized) {
assert_eq!(body.typing_mode, BodyTypingMode::PostAnalysis,);

@lcnr lcnr Oct 29, 2026 •

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.

Suggested change
assert_eq!(body.typing_mode, BodyTypingMode::PostAnalysis,);
assert_eq!(body.typing_mode, BodyTypingMode::PostAnalysis);

View changes since the review

@lcnr

lcnr commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 29, 2026
@rustbot

rustbot commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@rustbot

rustbot commented Oct 31, 2026

Copy link
Copy Markdown
Collaborator

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.

@rust-log-analyzer

This comment has been minimized.

@adwinwhite
adwinwhite force-pushed the phase-hack branch 2 times, most recently from 4bbe3be to 3958cd2 Compare November 5, 2026 06:20
@adwinwhite

Copy link
Copy Markdown
Contributor Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 5, 2026
rust-bors Bot pushed a commit that referenced this pull request Nov 5, 2026
replace `TypingEnv::post_analysis()` with `mir::Body::typing_env()`
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: ca63c4d (ca63c4d880420fcba943453f9ac6a930d2dc47c1)
Base parent: 2d20b42 (2d20b42b883dcfc014f3c2c56081eeb6091c2179)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (ca63c4d): comparison URL.

Overall result: ❌ regressions - no action needed

Benchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up.

@rustbot label: -S-waiting-on-perf -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.2% [0.2%, 0.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 2.4%, secondary 1.8%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.4% [2.4%, 2.4%] 1
Regressions ❌
(secondary)
2.6% [1.9%, 3.4%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.7% [-2.7%, -2.7%] 1
All ❌✅ (primary) 2.4% [2.4%, 2.4%] 1

Cycles

Results (secondary -6.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-6.5% [-7.9%, -5.2%] 2
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 480.462s -> 479.565s (-0.19%)
Artifact size: 406.22 MiB -> 406.28 MiB (0.02%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 5, 2026
@adwinwhite

Copy link
Copy Markdown
Contributor Author

@rustbot ready

r? project-trait-system-refactor

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Nov 5, 2026
@rustbot

rustbot commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

The review request project-trait-system-refactor corresponds to 6 reviewer(s).
However, none of them are available for a review at this time.
Use r? to specify someone else to assign.

@adwinwhite

Copy link
Copy Markdown
Contributor Author

r? @jdonszelmann or @ShoyuVanilla

@rustbot rustbot assigned jdonszelmann and unassigned lcnr Nov 5, 2026
@rustbot

rustbot commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

jdonszelmann is currently at their maximum review capacity.
They may take a while to respond.

@jdonszelmann

Copy link
Copy Markdown
Contributor

I can take this one

Comment thread compiler/rustc_middle/src/mir/mod.rs Outdated
match self.typing_mode {
BodyTypingMode::PostTypeckThroughBorrowck => {
let local_def_id =
self.source.def_id().as_local().expect("We only build MIR for local body");

@jdonszelmann jdonszelmann Nov 5, 2026 •

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.

typo "local bodies"

View changes since the review

Comment thread compiler/rustc_mir_transform/src/lib.rs Outdated
@@ -848,6 +849,7 @@ fn promoted_mir(tcx: TyCtxt<'_>, def: LocalDefId) -> &IndexVec<Promoted, Body<'_
let mut promoted = tcx.mir_promoted(def).1.steal();

for body in &mut promoted {
body.typing_mode = BodyTypingMode::PostBorrowck;

@jdonszelmann jdonszelmann Nov 5, 2026 •

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.

I'm slightly worried about this. Should the typing mode maybe be tied to the phase change mechanism? One example that came to mind is build_adt_ctor in compiler/rustc_mir_transform/src/shim.rs which does a phase change on a mir body not through the normal mechanisms (later than normal). I think we may not care about the typing mode there, but the fact that we kind of just set the typing mode of a body in random places scares me.

View changes since the review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I wrote a summary of all the transitions for different kinds of bodies, only to find that "yeah, following phase change is simpler" as long as we give up PostBorrowck, which isn't really used in passes.

@jdonszelmann jdonszelmann left a comment •

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.

are my fears unfounded? maybe, let me know!

View changes since this review

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
   Compiling miniz_oxide v0.9.1
[RUSTC-TIMING] hashbrown test:false 2.614
[RUSTC-TIMING] miniz_oxide test:false 1.390
   Compiling addr2line v0.27.1
error: internal compiler error: compiler/rustc_mir_transform/src/validate.rs:81:25: broken MIR in Item(DefId(0:435 ~ addr2line[5439]::unit::{impl#1}::find_location_range)) (after phase change to analysis-post-cleanup) at bb2[5]:
                                Unsize coercion, but `alloc::boxed::Box<impl rustc_std_workspace_core::iter::Iterator<Item = (&unit::ResUnit<R>, &gimli::Range)>>` isn't coercible to `alloc::boxed::Box<dyn rustc_std_workspace_core::iter::Iterator<Item = (&unit::ResUnit<R>, &gimli::Range)>>`
   --> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.27.1/src/unit.rs:469:13
    |
469 |             unit_iter,
    |             ^^^^^^^^^

---
   7:     0x7fcae6d0d352 - std[617be2ca0a6fd877]::panicking::begin_panic::<rustc_span[35ee57ae47358719]::macros::ExplicitBug>::{closure#0}
   8:     0x7fcae6d0d2ee - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::begin_panic<rustc_span[35ee57ae47358719]::macros::ExplicitBug>::{closure#0}, !>
   9:     0x7fcae6d0f64f - std[617be2ca0a6fd877]::panicking::begin_panic::<rustc_span[35ee57ae47358719]::macros::ExplicitBug>
  10:     0x7fcae6d073f7 - rustc_span[35ee57ae47358719]::macros::bug_impl
  11:     0x7fcae349ce10 - <rustc_mir_transform[f0f02798190b5e22]::validate::CfgChecker>::fail::<alloc[2e1b2a31b91974c5]::string::String>
  12:     0x7fcae34bf5d5 - <rustc_mir_transform[f0f02798190b5e22]::validate::Validator as rustc_mir_transform[f0f02798190b5e22]::pass_manager::MirPass>::run_pass
  13:     0x7fcae326482a - rustc_mir_transform[f0f02798190b5e22]::pass_manager::run_passes_inner
  14:     0x7fcae320125b - rustc_mir_transform[f0f02798190b5e22]::run_analysis_to_runtime_passes
  15:     0x7fcae3202b20 - rustc_mir_transform[f0f02798190b5e22]::mir_drops_elaborated_and_const_checked
  16:     0x7fcae4c23458 - rustc_query_impl[a5bd46336301c608]::query_vtables::mir_drops_elaborated_and_const_checked::invoke_provider_fn::__rust_begin_short_backtrace
  17:     0x7fcae48ee532 - rustc_query_impl[a5bd46336301c608]::execution::try_execute_query::<rustc_data_structures[4bae0311497c1102]::vec_cache::VecCache<rustc_span[35ee57ae47358719]::def_id::LocalDefId, rustc_middle[f5b8d73b0ee8dbfb]::query::erase::ErasedData<[u8; 8usize]>, rustc_middle[f5b8d73b0ee8dbfb]::dep_graph::graph::DepNodeIndex>, false>
  18:     0x7fcae4c8500c - rustc_query_impl[a5bd46336301c608]::query_vtables::mir_drops_elaborated_and_const_checked::execute_query_non_incr::__rust_end_short_backtrace
  19:     0x7fcae20f2785 - <rustc_middle[f5b8d73b0ee8dbfb]::ty::context::TyCtxt>::par_hir_body_owners::<rustc_interface[ea71067cf4595876]::passes::run_required_analyses::{closure#2}::{closure#0}>::{closure#0}
  20:     0x7fcae20eba31 - rustc_data_structures[4bae0311497c1102]::sync::parallel::par_for_each_in::<rustc_span[35ee57ae47358719]::def_id::LocalDefId, [rustc_span[35ee57ae47358719]::def_id::LocalDefId], <rustc_middle[f5b8d73b0ee8dbfb]::ty::context::TyCtxt>::par_hir_body_owners<rustc_interface[ea71067cf4595876]::passes::run_required_analyses::{closure#2}::{closure#0}>::{closure#0}>
  21:     0x7fcae20c26e9 - <rustc_session[2de510640a76d4c3]::session::Session>::time::<(), rustc_interface[ea71067cf4595876]::passes::run_required_analyses::{closure#2}>
  22:     0x7fcae2096815 - rustc_interface[ea71067cf4595876]::passes::analysis
  23:     0x7fcae4b71e30 - rustc_query_impl[a5bd46336301c608]::query_vtables::analysis::invoke_provider_fn::__rust_begin_short_backtrace
  24:     0x7fcae4914abe - rustc_query_impl[a5bd46336301c608]::execution::try_execute_query::<rustc_middle[f5b8d73b0ee8dbfb]::query::caches::SingleCache<rustc_middle[f5b8d73b0ee8dbfb]::query::erase::ErasedData<[u8; 0usize]>>, false>
  25:     0x7fcae4d65cf2 - rustc_query_impl[a5bd46336301c608]::query_vtables::analysis::execute_query_non_incr::__rust_end_short_backtrace
  26:     0x7fcae1e37cda - <std[617be2ca0a6fd877]::thread::local::LocalKey<core[a373ad73a504971]::cell::Cell<*const ()>>>::with::<rustc_middle[f5b8d73b0ee8dbfb]::ty::context::tls::enter_context<<rustc_middle[f5b8d73b0ee8dbfb]::ty::context::GlobalCtxt>::enter<rustc_interface[ea71067cf4595876]::passes::create_and_enter_global_ctxt<core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>, rustc_driver_impl[17b4dd2c0147bb12]::compiler_entrypoint::{closure#0}::{closure#1}>::{closure#2}, core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>>::{closure#1}, core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>>::{closure#0}, core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>>
  27:     0x7fcae1d3fca6 - <rustc_middle[f5b8d73b0ee8dbfb]::ty::context::TyCtxt>::create_global_ctxt::<core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>, rustc_interface[ea71067cf4595876]::passes::create_and_enter_global_ctxt<core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>, rustc_driver_impl[17b4dd2c0147bb12]::compiler_entrypoint::{closure#0}::{closure#1}>::{closure#2}>
  28:     0x7fcae1e0905d - rustc_interface[ea71067cf4595876]::passes::create_and_enter_global_ctxt::<core[a373ad73a504971]::option::Option<rustc_interface[ea71067cf4595876]::queries::Linker>, rustc_driver_impl[17b4dd2c0147bb12]::compiler_entrypoint::{closure#0}::{closure#1}>
  29:     0x7fcae1e807b5 - rustc_span[35ee57ae47358719]::create_session_globals_then::<(), rustc_interface[ea71067cf4595876]::util::run_in_thread_with_globals<rustc_interface[ea71067cf4595876]::util::run_in_thread_pool_with_globals<rustc_interface[ea71067cf4595876]::interface::run_compiler<(), rustc_driver_impl[17b4dd2c0147bb12]::compiler_entrypoint::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
  30:     0x7fcae1e728a8 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[ea71067cf4595876]::util::run_in_thread_with_globals<rustc_interface[ea71067cf4595876]::util::run_in_thread_pool_with_globals<rustc_interface[ea71067cf4595876]::interface::run_compiler<(), rustc_driver_impl[17b4dd2c0147bb12]::compiler_entrypoint::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  31:     0x7fcae1e737ac - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<rustc_interface[ea71067cf4595876]::util::run_in_thread_with_globals<rustc_interface[ea71067cf4595876]::util::run_in_thread_pool_with_globals<rustc_interface[ea71067cf4595876]::interface::run_compiler<(), rustc_driver_impl[17b4dd2c0147bb12]::compiler_entrypoint::{closure#0}>::{closure#2}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  32:     0x7fcae6de403f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
  33:     0x7fcadfc6ba83 - <unknown>
  34:     0x7fcadfcfd8e0 - <unknown>
  35:                0x0 - <unknown>

---
note: please attach the file at `/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.27.1/rustc-ice-2026-11-06T06_31_41-16962.txt` to your bug report

note: rustc 1.101.0-nightly (d2196b3fb 2026-11-06) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -Z embed-metadata=no -C opt-level=s -C embed-bitcode=no -C codegen-units=1 -C embed-bitcode=yes -Z unstable-options -C force-frame-pointers=non-leaf -C debug-assertions=on -C strip=debuginfo -Z annotate-moves -Z unstable-options -Z macro-backtrace -C split-debuginfo=off -C prefer-dynamic -Z validate-mir -Z mir-opt-level=3 -Z inline-mir -Z inline-mir-preserve-debug -Z mir_strip_debuginfo=locals-in-tiny-functions -C link-args=-Wl,-z,origin -C link-args=-Wl,-rpath,$ORIGIN/../lib -Z crate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/") -Z binary-dep-depinfo -Z force-unstable-if-unmarked

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_drops_elaborated_and_const_checked] elaborating drops for `unit::<impl at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.27.1/src/unit.rs:205:1: 205:35>::find_location_range`
#1 [analysis] running analysis passes on crate `addr2line`
end of query stack
[RUSTC-TIMING] addr2line test:false 0.559
error: could not compile `addr2line` (lib)

Caused by:
  process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc /checkout/obj/build/bootstrap/debug/rustc --crate-name addr2line --edition=2018 /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.27.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat,unused-externs-silent --crate-type lib --emit=dep-info,metadata,link -Z embed-metadata=no -C opt-level=s -C embed-bitcode=no -C codegen-units=1 -Cembed-bitcode=yes -Zunstable-options -Cforce-frame-pointers=non-leaf -C debug-assertions=on --cfg 'feature="alloc"' --cfg 'feature="core"' --cfg 'feature="rustc-dep-of-std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("all", "alloc", "bin", "cargo-all", "core", "cpp_demangle", "default", "fallible-iterator", "loader", "rustc-demangle", "rustc-dep-of-std", "smallvec", "std", "wasm"))' -C metadata=bb669a279ea8984e -C extra-filename=-7b514b6a7bafa72f --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/addr2line/7b514b6a7bafa72f/out --target x86_64-unknown-linux-gnu -C strip=debuginfo -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/alloc/771e9aa71bda8108/out -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/compiler_builtins/f6fba5f0006c5a00/out -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/core/dc51be4890c6c522/out -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/rustc-std-workspace-alloc/b805b66e8eb9d599/out -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/rustc-std-workspace-core/07d498d6f1041db7/out -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/dist/build/addr2line/7b514b6a7bafa72f/out --extern gimli=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/gimli/3f078b46d281e5c5/out/libgimli-3f078b46d281e5c5.rmeta --extern alloc=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/rustc-std-workspace-alloc/b805b66e8eb9d599/out/librustc_std_workspace_alloc-b805b66e8eb9d599.rmeta --extern core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/rustc-std-workspace-core/07d498d6f1041db7/out/librustc_std_workspace_core-07d498d6f1041db7.rmeta --cap-lints allow -Zannotate-moves '--check-cfg=cfg(feature,values(any()))' -Zunstable-options -Zmacro-backtrace -Csplit-debuginfo=off -Cprefer-dynamic -Zvalidate-mir -Zmir-opt-level=3 -Zinline-mir -Zinline-mir-preserve-debug -Zmir_strip_debuginfo=locals-in-tiny-functions -Clink-args=-Wl,-z,origin '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Alinker-messages '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/")' -Z binary-dep-depinfo --force-warn=unused_crate_dependencies -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/dist/build/compiler_builtins/3354dcb9beb7724d/out` (exit status: 101)
warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] gimli test:false 8.021
[RUSTC-TIMING] object test:false 10.255
Bootstrap failed while executing `build src/tools/build-manifest`
Currently active steps:

This branch has not been deployed

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

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants