Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE "Unexpected free regions in MIR" with asm_const, missing constant, async, and lifetime parameter #117877

Closed
jruderman opened this issue Nov 13, 2023 · 4 comments · Fixed by #137686
Labels
A-inline-assembly Area: Inline assembly (`asm!(…)`) C-bug Category: This is a bug. F-asm `#![feature(asm)]` (not `llvm_asm`) I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@jruderman
Copy link
Contributor

Found with a modified fuzz-rustc

Code

#![feature(asm_const)]

use std::arch::asm;

async unsafe fn foo<'a>() {
    asm!("/* {0} */", const N);
}

fn main() {}

Requires rustc built with debug assertions enabled

Requires --edition=2021 for async

Error output

error[E0425]: cannot find value N in this scope

thread 'rustc' panicked at compiler/rustc_mir_build/src/build/mod.rs:96:5:
Unexpected free regions in MIR

Full output including backtrace
error[E0425]: cannot find value `N` in this scope
 --> a1.rs:6:29
  |
6 |     asm!("/* {0} */", const N);
  |                             ^ not found in this scope
  |
help: you might be missing a const parameter
  |
5 | async unsafe fn foo<'a, const N: /* Type */>() {
  |                       +++++++++++++++++++++

thread 'rustc' panicked at compiler/rustc_mir_build/src/build/mod.rs:96:5:
Unexpected free regions in MIR: Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_3), _3 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: a1.rs:6:5: 6:31 (#0), scope: scope[0] }, kind: asm!("/* {0} */", const const _, options((empty))) -> [return: bb1, unwind unreachable] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3), _0 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: a1.rs:7:1: 7:2 (#99), scope: scope[0] }, kind: drop(_1) -> [return: bb2, unwind: bb3] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: a1.rs:7:2: 7:2 (#0), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: a1.rs:5:27: 7:2 (#0), scope: scope[0] }, kind: resume }), is_cleanup: true }], cache: Cache { predecessors: OnceLock(<uninit>), switch_sources: OnceLock(<uninit>), is_cyclic: OnceLock(<uninit>), reverse_postorder: OnceLock(<uninit>), dominators: OnceLock(<uninit>) } }, phase: Built, pass_count: 0, source: MirSource { instance: Item(DefId(0:6 ~ a1[ee4d]::foo::{closure#0})), promoted: None }, source_scopes: [SourceScopeData { span: a1.rs:5:27: 7:2 (#0), parent_scope: None, inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:4 ~ a1[ee4d]::foo).14), safety: Safe }) }], coroutine: Some(CoroutineInfo { yield_ty: Some(()), coroutine_drop: None, coroutine_layout: None, coroutine_kind: Async(Fn) }), local_decls: [LocalDecl { mutability: Mut, local_info: Set(Boring), ty: (), user_ty: None, source_info: SourceInfo { span: a1.rs:5:27: 7:2 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), ty: Coroutine(DefId(0:6 ~ a1[ee4d]::foo::{closure#0}), [ReErased, std::future::ResumeTy, (), (), CoroutineWitness(DefId(0:6 ~ a1[ee4d]::foo::{closure#0}), [ReErased]), ()], Static), user_ty: None, source_info: SourceInfo { span: a1.rs:5:27: 7:2 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: Some(a1.rs:5:27: 7:2 (#98)), opt_match_place: Some((None, a1.rs:5:27: 7:2 (#0))), pat_span: a1.rs:5:27: 7:2 (#0) }))), ty: std::future::ResumeTy, user_ty: None, source_info: SourceInfo { span: a1.rs:5:27: 7:2 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(Boring), ty: (), user_ty: None, source_info: SourceInfo { span: a1.rs:6:5: 6:31 (#0), scope: scope[0] } }], user_type_annotations: [], arg_count: 2, spread_arg: Some(_2), var_debug_info: [_task_context => _2], span: a1.rs:5:27: 7:2 (#0), required_consts: [], is_polymorphic: false, injection_phase: None, tainted_by_errors: None, function_coverage_info: None }
stack backtrace:
   0:        0x10e3489c7 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h32be08e4a73e3127
   1:        0x10e3cf41b - core::fmt::write::h4c5ea57c49d24c93
   2:        0x10e342a08 - std::io::Write::write_fmt::haa537118f333bb71
   3:        0x10e348805 - std::sys_common::backtrace::print::h49c807e14db1ec16
   4:        0x10e30def5 - std::panicking::default_hook::{{closure}}::h2b7bc953cf5d346a
   5:        0x10e30dcdf - std::panicking::default_hook::h31b936663a54995c
   6:        0x1213b470b - <alloc[e900fb129f34e26c]::boxed::Box<rustc_driver_impl[620352f41765b051]::install_ice_hook::{closure#0}> as core[141871ccc4260175]::ops::function::Fn<(&dyn for<'a, 'b> core[141871ccc4260175]::ops::function::Fn<(&'a core[141871ccc4260175]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[141871ccc4260175]::marker::Send + core[141871ccc4260175]::marker::Sync, &core[141871ccc4260175]::panic::panic_info::PanicInfo)>>::call
   7:        0x10e30e623 - std::panicking::rust_panic_with_hook::h15d5ee8b9f2b330f
   8:        0x10e32bafa - std::panicking::begin_panic_handler::{{closure}}::haa22ae33ba8c5851
   9:        0x10e32ba29 - std::sys_common::backtrace::__rust_end_short_backtrace::hb6bd07feb4607006
  10:        0x10e30dfed - _rust_begin_unwind
  11:        0x10e3e8485 - core::panicking::panic_fmt::h6bceaa1f01563255
  12:        0x12501d57e - rustc_mir_build[43102d1e30c3b96d]::build::mir_built
  13:        0x125577cc9 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  14:        0x12559e71d - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_built::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalDefId)>>::call_once
  15:        0x1256a43e9 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  16:        0x12595a034 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  17:        0x12572d8c3 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_built::get_query_non_incr::__rust_end_short_backtrace
  18:        0x12483f2a7 - rustc_middle[705d4043bf578f72]::query::plumbing::query_get_at::<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  19:        0x124840801 - rustc_mir_transform[68f8150185f640cd]::check_unsafety::unsafety_check_result
  20:        0x125568819 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::unsafety_check_result::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  21:        0x125718bed - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::unsafety_check_result::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalDefId)>>::call_once
  22:        0x1256a43e9 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  23:        0x12595a034 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  24:        0x12583e623 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::unsafety_check_result::get_query_non_incr::__rust_end_short_backtrace
  25:        0x12483f2a7 - rustc_middle[705d4043bf578f72]::query::plumbing::query_get_at::<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  26:        0x12483f68c - <rustc_mir_transform[68f8150185f640cd]::check_unsafety::UnsafetyChecker as rustc_middle[705d4043bf578f72]::mir::visit::Visitor>::visit_rvalue
  27:        0x12467ad72 - <rustc_mir_transform[68f8150185f640cd]::check_unsafety::UnsafetyChecker as rustc_middle[705d4043bf578f72]::mir::visit::Visitor>::visit_body
  28:        0x124840af9 - rustc_mir_transform[68f8150185f640cd]::check_unsafety::unsafety_check_result
  29:        0x125568819 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::unsafety_check_result::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  30:        0x125718bed - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::unsafety_check_result::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalDefId)>>::call_once
  31:        0x1256a43e9 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  32:        0x12595a034 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  33:        0x12583e623 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::unsafety_check_result::get_query_non_incr::__rust_end_short_backtrace
  34:        0x1248cb735 - rustc_middle[705d4043bf578f72]::query::plumbing::query_ensure::<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  35:        0x1248ce763 - rustc_mir_transform[68f8150185f640cd]::mir_const
  36:        0x125577e99 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_const::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  37:        0x1255945cd - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_const::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalDefId)>>::call_once
  38:        0x1256a43e9 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  39:        0x12595a034 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  40:        0x12557a303 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_const::get_query_non_incr::__rust_end_short_backtrace
  41:        0x1248cbd47 - rustc_middle[705d4043bf578f72]::query::plumbing::query_get_at::<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  42:        0x1248cebd6 - rustc_mir_transform[68f8150185f640cd]::mir_promoted
  43:        0x125554e5e - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 16usize]>>
  44:        0x12563d8db - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_promoted::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalDefId)>>::call_once
  45:        0x1256a3f4d - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 16usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 16usize]>>
  46:        0x12594f1e0 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  47:        0x12583cbe6 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
  48:        0x12515f221 - rustc_borrowck[4bda8550cd926c82]::mir_borrowck
  49:        0x125554aa9 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  50:        0x12557933d - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_borrowck::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalDefId)>>::call_once
  51:        0x1256a43e9 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  52:        0x12595a034 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  53:        0x1255f62c3 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
  54:        0x124435ce7 - rustc_middle[705d4043bf578f72]::query::plumbing::query_get_at::<rustc_query_system[6ba621b623e07609]::query::caches::VecCache<rustc_span[307fc47b90714165]::def_id::LocalDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  55:        0x1244366ee - rustc_hir_analysis[96041911c6860bb9]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
  56:        0x1245b72d3 - rustc_hir_analysis[96041911c6860bb9]::collect::type_of::type_of_opaque
  57:        0x125558cee - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  58:        0x1258429a0 - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::type_of_opaque::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::DefId)>>::call_once
  59:        0x1256a2e8d - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::DefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  60:        0x125910a7c - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::DefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  61:        0x1255ee453 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::type_of_opaque::get_query_non_incr::__rust_end_short_backtrace
  62:        0x1245b453f - rustc_middle[705d4043bf578f72]::query::plumbing::query_get_at::<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::DefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  63:        0x1245b5668 - rustc_hir_analysis[96041911c6860bb9]::collect::type_of::type_of
  64:        0x1255760bb - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  65:        0x1257d0b40 - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::type_of::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::DefId)>>::call_once
  66:        0x1256a2e8d - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::DefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>
  67:        0x125910a7c - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::DefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  68:        0x125820823 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::type_of::get_query_non_incr::__rust_end_short_backtrace
  69:        0x12451f00f - rustc_middle[705d4043bf578f72]::query::plumbing::query_get_at::<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::DefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 8usize]>>>
  70:        0x1245217f1 - rustc_hir_analysis[96041911c6860bb9]::check::check::check_item_type
  71:        0x12452ab6a - rustc_hir_analysis[96041911c6860bb9]::check::check::check_mod_item_types
  72:        0x1255655e9 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::check_mod_item_types::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 0usize]>>
  73:        0x1255fceed - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::check_mod_item_types::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, rustc_span[307fc47b90714165]::def_id::LocalModDefId)>>::call_once
  74:        0x1256a2599 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::LocalModDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 0usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 0usize]>>
  75:        0x1258fa64f - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::LocalModDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  76:        0x125801894 - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::check_mod_item_types::get_query_non_incr::__rust_end_short_backtrace
  77:        0x1243e3f35 - rustc_middle[705d4043bf578f72]::query::plumbing::query_ensure::<rustc_query_system[6ba621b623e07609]::query::caches::DefaultCache<rustc_span[307fc47b90714165]::def_id::LocalModDefId, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 0usize]>>>
  78:        0x1243e39dd - <rustc_middle[705d4043bf578f72]::hir::map::Map>::for_each_module::<rustc_hir_analysis[96041911c6860bb9]::check_crate::{closure#5}::{closure#0}>
  79:        0x124493cbd - <rustc_session[83cc26ce73b1982b]::session::Session>::time::<(), rustc_hir_analysis[96041911c6860bb9]::check_crate::{closure#5}>
  80:        0x1243db682 - rustc_hir_analysis[96041911c6860bb9]::check_crate
  81:        0x1214f3cce - rustc_interface[b2b6b70544aa9d1]::passes::analysis
  82:        0x125576287 - rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 1usize]>>
  83:        0x125774caa - <rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::analysis::dynamic_query::{closure#2} as core[141871ccc4260175]::ops::function::FnOnce<(rustc_middle[705d4043bf578f72]::ty::context::TyCtxt, ())>>::call_once
  84:        0x1256a088f - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<rustc_query_system[6ba621b623e07609]::query::plumbing::execute_job_non_incr<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::SingleCache<rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 1usize]>>
  85:        0x1258c5704 - rustc_query_system[6ba621b623e07609]::query::plumbing::try_execute_query::<rustc_query_impl[66bd3ce17fc8e1a5]::DynamicConfig<rustc_query_system[6ba621b623e07609]::query::caches::SingleCache<rustc_middle[705d4043bf578f72]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[66bd3ce17fc8e1a5]::plumbing::QueryCtxt, false>
  86:        0x12570ddab - rustc_query_impl[66bd3ce17fc8e1a5]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  87:        0x12133c391 - <std[44644296588160fc]::thread::local::LocalKey<core[141871ccc4260175]::cell::Cell<*const ()>>>::with::<rustc_middle[705d4043bf578f72]::ty::context::tls::enter_context<<rustc_middle[705d4043bf578f72]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}::{closure#2}::{closure#6}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>
  88:        0x12130eb0b - <rustc_middle[705d4043bf578f72]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}::{closure#2}::{closure#6}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>
  89:        0x12131a123 - <rustc_interface[b2b6b70544aa9d1]::interface::Compiler>::enter::<rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}::{closure#2}, core[141871ccc4260175]::result::Result<core[141871ccc4260175]::option::Option<rustc_interface[b2b6b70544aa9d1]::queries::Linker>, rustc_span[307fc47b90714165]::ErrorGuaranteed>>
  90:        0x1213960bc - rustc_span[307fc47b90714165]::set_source_map::<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_interface[b2b6b70544aa9d1]::interface::run_compiler<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  91:        0x1213282a5 - <scoped_tls[611145ce71675172]::ScopedKey<rustc_span[307fc47b90714165]::SessionGlobals>>::set::<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_pool_with_globals<rustc_interface[b2b6b70544aa9d1]::interface::run_compiler<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>
  92:        0x121396b51 - rustc_span[307fc47b90714165]::create_session_globals_then::<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_pool_with_globals<rustc_interface[b2b6b70544aa9d1]::interface::run_compiler<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}>
  93:        0x121327585 - std[44644296588160fc]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_with_globals<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_pool_with_globals<rustc_interface[b2b6b70544aa9d1]::interface::run_compiler<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>
  94:        0x121338070 - std[44644296588160fc]::panicking::try::<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, core[141871ccc4260175]::panic::unwind_safe::AssertUnwindSafe<<std[44644296588160fc]::thread::Builder>::spawn_unchecked_<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_with_globals<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_pool_with_globals<rustc_interface[b2b6b70544aa9d1]::interface::run_compiler<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
  95:        0x1212f7d3e - <<std[44644296588160fc]::thread::Builder>::spawn_unchecked_<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_with_globals<rustc_interface[b2b6b70544aa9d1]::util::run_in_thread_pool_with_globals<rustc_interface[b2b6b70544aa9d1]::interface::run_compiler<core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>, rustc_driver_impl[620352f41765b051]::run_compiler::{closure#1}>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[141871ccc4260175]::result::Result<(), rustc_span[307fc47b90714165]::ErrorGuaranteed>>::{closure#1} as core[141871ccc4260175]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  96:        0x10e31250d - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h62100a6d16b121b3
  97:        0x10e31c37f - std::sys::unix::thread::Thread::new::thread_start::h990ef5ebf967521b
  98:     0x7ff81e7c04e1 - __pthread_start

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: please attach the file at `/Users/jruderman/code/tt/rustc-ice-2023-11-13T15_01_15-61509.txt` to your bug report

query stack during panic:
#0 [mir_built] building MIR for `foo::{closure#0}`
#1 [unsafety_check_result] unsafety-checking `foo::{closure#0}`
#2 [unsafety_check_result] unsafety-checking `foo`
#3 [mir_const] preparing `foo` for borrow checking
#4 [mir_promoted] promoting constants in MIR for `foo`
#5 [mir_borrowck] borrow-checking `foo`
#6 [type_of_opaque] computing type of opaque `foo::{opaque#0}`
#7 [type_of] computing type of `foo::{opaque#0}`
#8 [check_mod_item_types] checking item types in top-level module
#9 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to previous error

For more information about this error, try `rustc --explain E0425`.

Version

stage1 built from 891c6ee on x86_64-apple-darwin

@rustbot label +F-asm +requires-debug-assertions

@jruderman jruderman added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 13, 2023
@rustbot rustbot added needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. F-asm `#![feature(asm)]` (not `llvm_asm`) requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way labels Nov 13, 2023
@jruderman
Copy link
Contributor Author

Also ICEs with sym in place of const.

@saethlin saethlin added A-inline-assembly Area: Inline assembly (`asm!(…)`) and removed needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. labels Nov 13, 2023
@Amanieu
Copy link
Member

Amanieu commented May 1, 2024

Seems to be fixed on the latest nightly.

@matthiaskrgr
Copy link
Member

nightly

you're probably missing debug assertions?

@matthiaskrgr matthiaskrgr added S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. C-bug Category: This is a bug. and removed I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way labels Dec 12, 2024
@matthiaskrgr
Copy link
Member

@rustbot label: +I-ICE +T-compiler +C-bug +S-bug-has-test +requires-debug-assertions

@rustbot rustbot added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 12, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Feb 28, 2025
Handle asm const similar to inline const

Previously, asm consts are handled similar to anon consts rather than inline consts. Anon consts are not good at dealing with lifetimes, because `type_of` has lifetimes erased already. Inline consts can deal with lifetimes because they live in an outer typeck context. And since `global_asm!` lacks an outer typeck context, we have implemented asm consts with anon consts while they're in fact more similar to inline consts.

This was changed in rust-lang#137180, and this means that handling asm consts as inline consts are possible. While as `@compiler-errors` pointed out, `const` currently can't be used with any types with lifetime, this is about to change if rust-lang#128464 is implemented. This PR is a preparatory PR for that feature.

As an unintentional side effect, fix rust-lang#117877.

cc `@Amanieu`
r? `@compiler-errors`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Feb 28, 2025
Handle asm const similar to inline const

Previously, asm consts are handled similar to anon consts rather than inline consts. Anon consts are not good at dealing with lifetimes, because `type_of` has lifetimes erased already. Inline consts can deal with lifetimes because they live in an outer typeck context. And since `global_asm!` lacks an outer typeck context, we have implemented asm consts with anon consts while they're in fact more similar to inline consts.

This was changed in rust-lang#137180, and this means that handling asm consts as inline consts are possible. While as ``@compiler-errors`` pointed out, `const` currently can't be used with any types with lifetime, this is about to change if rust-lang#128464 is implemented. This PR is a preparatory PR for that feature.

As an unintentional side effect, fix rust-lang#117877.

cc ``@Amanieu``
r? ``@compiler-errors``
@bors bors closed this as completed in 174bbfb Mar 1, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Mar 1, 2025
Rollup merge of rust-lang#137686 - nbdd0121:asm_const, r=compiler-errors

Handle asm const similar to inline const

Previously, asm consts are handled similar to anon consts rather than inline consts. Anon consts are not good at dealing with lifetimes, because `type_of` has lifetimes erased already. Inline consts can deal with lifetimes because they live in an outer typeck context. And since `global_asm!` lacks an outer typeck context, we have implemented asm consts with anon consts while they're in fact more similar to inline consts.

This was changed in rust-lang#137180, and this means that handling asm consts as inline consts are possible. While as `@compiler-errors` pointed out, `const` currently can't be used with any types with lifetime, this is about to change if rust-lang#128464 is implemented. This PR is a preparatory PR for that feature.

As an unintentional side effect, fix rust-lang#117877.

cc `@Amanieu`
r? `@compiler-errors`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-inline-assembly Area: Inline assembly (`asm!(…)`) C-bug Category: This is a bug. F-asm `#![feature(asm)]` (not `llvm_asm`) I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants