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

Random compiler errors when running tests on my NES Emulator project #112479

Closed
MWJones96 opened this issue Jun 9, 2023 · 12 comments
Closed

Random compiler errors when running tests on my NES Emulator project #112479

MWJones96 opened this issue Jun 9, 2023 · 12 comments
Labels
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.

Comments

@MWJones96
Copy link

MWJones96 commented Jun 9, 2023

Code

No specific code, appears to occur randomly. I am writing an emulator. It appears to fix itself with a clean + rebuild.

Meta

rustc --version --verbose:

$ rustc --version --verbose
rustc 1.70.0 (90c541806 2023-05-31)
binary: rustc
commit-hash: 90c541806f23a127002de5b4038be731ba1458ca
commit-date: 2023-05-31
host: x86_64-pc-windows-gnu
release: 1.70.0
LLVM version: 16.0.2

Error output


eight@DESKTOP-0GPTJR0 MINGW64 ~/dev/NESEmulator (master)
$ cargo test
   Compiling nes_emu v0.1.0 (C:\Users\eight\dev\NESEmulator)
error: internal compiler error: encountered incremental compilation error with mir_built(98116885023e870b-8e99452225b317f9)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p nes_emu` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at 'Found unstable fingerprints for mir_built(98116885023e870b-8e99452225b317f9): Steal { value: RwLock(RefCell { value: Some(Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_3), StorageLive(_4), StorageLive(_5), _5 = &((*_1).0: std::sync::Mutex<cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] }, kind: _4 = Mutex::<__mock_MockCartridge_Cartridge::__read::Matcher>::lock(move _5) -> [return: bb1, unwind: bb21] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_5)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] }, kind: _3 = Result::<MutexGuard<'_, __mock_MockCartridge_Cartridge::__read::Matcher>, PoisonError<MutexGuard<'_, __mock_MockCartridge_Cartridge::__read::Matcher>>>::unwrap(move _4) -> [return: bb2, unwind: bb20] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_4), FakeRead(ForLet(None), _3), StorageLive(_6), StorageLive(_7), StorageLive(_8), StorageLive(_9), StorageLive(_10), StorageLive(_11), _11 = move _2], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[1] }, kind: _10 = Box::<MockallMatcher0>::new(move _11) -> [return: bb3, unwind: bb18] }), is_cleanup: false }, BasicBlockData { statements: [_9 = move _10 as std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send> (Pointer(Unsize))], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_10) -> [return: bb4, unwind: bb16] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_11), StorageDead(_10), _8 = (move _9,)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_9) -> [return: bb5, unwind: bb15] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_9)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[1] }, kind: _7 = Box::<(Box<dyn Predicate<u16> + Send>,)>::new(move _8) -> [return: bb6, unwind: bb15] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_8), _6 = __mock_MockCartridge_Cartridge::__read::Matcher::Pred(move _7)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_7) -> [return: bb7, unwind: bb14] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_7), StorageLive(_12), StorageLive(_13), _13 = &mut _3], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[1] }, kind: _12 = <MutexGuard<'_, __mock_MockCartridge_Cartridge::__read::Matcher> as DerefMut>::deref_mut(move _13) -> [return: bb8, unwind: bb14] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_13)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#943), scope: scope[1] }, kind: drop((*_12)) -> [return: bb9, unwind: bb10] }), is_cleanup: false }, BasicBlockData { statements: [(*_12) = move _6], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_6) -> [return: bb11, unwind: bb19] }), is_cleanup: false }, BasicBlockData { statements: [(*_12) = move _6], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#943), scope: scope[1] }, kind: goto -> bb14 }), is_cleanup: true }, BasicBlockData { statements: [StorageDead(_6), StorageDead(_12), _0 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[0] }, kind: drop(_3) -> [return: bb12, unwind: bb21] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[0] }, kind: drop(_2) -> [return: bb13, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:12: 5:12 (#7), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_6) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_8) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_11) -> [return: bb17, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_9) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[1] }, kind: drop(_11) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[0] }, kind: drop(_3) -> [return: bb21, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[0] }, kind: drop(_4) -> [return: bb21, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#7), scope: scope[0] }, kind: drop(_2) -> [return: bb22, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] }, kind: resume }), is_cleanup: true }], cache: Cache { predecessors: OnceCell(Uninit), switch_sources: OnceCell(Uninit), is_cyclic: OnceCell(Uninit), postorder: OnceCell(Uninit) } }, phase: Built, pass_count: 0, source: MirSource { instance: Item(WithOptConstParam { did: DefId(0:1010 ~ nes_emu[a450]::cartridge::__mock_MockCartridge_Cartridge::__read::{impl#6}::with), const_param_did: None }), promoted: None }, source_scopes: [SourceScopeData { span: src\cartridge.rs:5:1: 5:12 (#7), parent_scope: None, inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:1010 ~ nes_emu[a450]::cartridge::__mock_MockCartridge_Cartridge::__read::{impl#6}::with).0), safety: Safe }) }, SourceScopeData { span: src\cartridge.rs:5:1: 5:12 (#7), parent_scope: Some(scope[0]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:1010 ~ nes_emu[a450]::cartridge::__mock_MockCartridge_Cartridge::__read::{impl#6}::with).0), safety: Safe }) }], generator: None, local_decls: [LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: (), user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:1 (#7), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(ImplicitSelf(MutRef))), internal: false, ty: &mut cartridge::__mock_MockCartridge_Cartridge::__read::Common, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_info: Some(src\cartridge.rs:5:1: 5:12 (#7)), opt_match_place: Some((None, src\cartridge.rs:7:20: 7:24 (#0))), pat_span: src\cartridge.rs:7:20: 7:24 (#0) }))), internal: false, ty: MockallMatcher0, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:7:20: 7:24 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, src\cartridge.rs:5:1: 5:12 (#7))), pat_span: src\cartridge.rs:5:1: 5:12 (#7) }))), internal: false, ty: std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::result::Result<std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, std::sync::PoisonError<std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>>>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &std::sync::Mutex<cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: cartridge::__mock_MockCartridge_Cartridge::__read::Matcher, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(AggregateTemp), internal: false, ty: std::boxed::Box<(std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: (std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,), user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<MockallMatcher0>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: MockallMatcher0, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:7:20: 7:24 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &mut cartridge::__mock_MockCartridge_Cartridge::__read::Matcher, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &mut std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] } }], user_type_annotations: [CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[dbf7]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[dbf7]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src\cartridge.rs:5:1: 5:12 (#7), inferred_ty: fn((std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)) -> std::boxed::Box<(std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)> {std::boxed::Box::<(std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)>::new} }, CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[dbf7]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[dbf7]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src\cartridge.rs:5:1: 5:12 (#7), inferred_ty: fn(MockallMatcher0) -> std::boxed::Box<MockallMatcher0> {std::boxed::Box::<MockallMatcher0>::new} }], arg_count: 2, spread_arg: None, var_debug_info: [VarDebugInfo { name: "self", source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[0] }, value: _1, argument_index: Some(1) }, VarDebugInfo { name: "addr", source_info: SourceInfo { span: src\cartridge.rs:7:20: 7:24 (#0), scope: scope[0] }, value: _2, argument_index: Some(2) }, VarDebugInfo { name: "__mockall_guard", source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#7), scope: scope[1] }, value: _3, argument_index: None }], span: src\cartridge.rs:5:1: 5:12 (#7), required_consts: [], is_polymorphic: true, injection_phase: None, tainted_by_errors: None }) }) }', /rustc/90c541806f23a127002de5b4038be731ba1458ca\compiler\rustc_query_system\src\query\plumbing.rs:715:9
stack backtrace:
   0:     0x7ff9c8498551 - std::backtrace_rs::backtrace::dbghelp::trace::hb3b97cc066d4847d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\..\..\backtrace\src\backtrace/dbghelp.rs:98:5
   1:     0x7ff9c8498551 - std::backtrace_rs::backtrace::trace_unsynchronized::ha819ab612ac36bbe
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\..\..\backtrace\src\backtrace/mod.rs:66:5
   2:     0x7ff9c8498551 - std::sys_common::backtrace::_print_fmt::hdd5c2174c4f4d555
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:65:5
   3:     0x7ff9c8498551 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h8f7f3402939f5539
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:44:22
   4:     0x7ff9c8504ceb - core::fmt::write::h3f5e3c0aa3e2af00
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\core\src\fmt/mod.rs:1254:17
   5:     0x7ff9c848cf95 - std::io::Write::write_fmt::hde50e103eb4e2f02       
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\io/mod.rs:1698:15
   6:     0x7ff9c84982a4 - std::sys_common::backtrace::_print::h43388466f2de4c77
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:47:5
   7:     0x7ff9c84982a4 - std::sys_common::backtrace::print::hdff773c58a1638a6
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:34:9
   8:     0x7ff9c849b550 - std::panicking::default_hook::{{closure}}::h4c841bc364d18b06
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:269:22
   9:     0x7ff9c849b262 - std::panicking::default_hook::ha42229545a00f216    
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:288:9
  10:     0x7ff975efee8e - rustc_driver_impl[a6a3a4f145fa1f6]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7ff9c849be82 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a8565d464e109f6
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\alloc\src/boxed.rs:1987:9
  12:     0x7ff9c849be82 - std::panicking::rust_panic_with_hook::h8178388b69906e11
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:695:13
  13:     0x7ff9c849bbc6 - std::panicking::begin_panic_handler::{{closure}}::h88dfa9b0e5006643
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:582:13
  14:     0x7ff9c8499049 - std::sys_common::backtrace::__rust_end_short_backtrace::h2a866522834b7ef1
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:150:18
  15:     0x7ff9c849b910 - rust_begin_unwind
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:578:5
  16:     0x7ff9c8500ec5 - core::panicking::panic_fmt::h1dc319aea0b05bce      
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\core\src/panicking.rs:67:14
  17:     0x7ff977a02ab8 - rustc_query_system[f333ae2e37661dd9]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[dfd82c6002866a15]::ty::context::TyCtxt>
  18:     0x7ff9776a4e98 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_built, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>
  19:     0x7ff9779fdbdc - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_built, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  20:     0x7ff97780e7ab - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_built
  21:     0x7ff97681547d - rustc_mir_transform[21a6e56276a17e1c]::mir_const   
  22:     0x7ff977585402 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl[df07470aa3f72235]::queries::mir_const, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>>
  23:     0x7ff9776a5606 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_const, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>
  24:     0x7ff9779fe54c - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_const, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  25:     0x7ff97780ea0b - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_const
  26:     0x7ff976815e1c - rustc_mir_transform[21a6e56276a17e1c]::mir_promoted
  27:     0x7ff9775723a8 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl[df07470aa3f72235]::queries::mir_promoted, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 16usize]>>
  28:     0x7ff9775e8468 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_promoted, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>        
  29:     0x7ff977957b51 - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_promoted, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  30:     0x7ff97780f853 - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_promoted
  31:     0x7ff976f7a3e7 - rustc_borrowck[fc9334b3185d642f]::mir_borrowck     
  32:     0x7ff976f53365 - <rustc_borrowck[fc9334b3185d642f]::provide::{closure#0} as core[816742d9c96f4e3c]::ops::function::FnOnce<(rustc_middle[dfd82c6002866a15]::ty::context::TyCtxt, rustc_span[bbe0f66ef284826a]::def_id::LocalDefId)>>::call_once
  33:     0x7ff97755e797 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<<rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepGraphData<rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt, rustc_query_impl[df07470aa3f72235]::queries::mir_borrowck), rustc_span[bbe0f66ef284826a]::def_id::LocalDefId, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>>
  34:     0x7ff9775e6026 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_borrowck, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>
  35:     0x7ff977956a4e - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_borrowck, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  36:     0x7ff977819546 - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_borrowck
  37:     0x7ff97602257e - <core[816742d9c96f4e3c]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[c091396baa5b4273]::sync::par_for_each_in<&[rustc_span[bbe0f66ef284826a]::def_id::LocalDefId], <rustc_middle[dfd82c6002866a15]::hir::map::Map>::par_body_owners<rustc_interface[13bf44d341eff004]::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}> as core[816742d9c96f4e3c]::ops::function::FnOnce<()>>::call_once
  38:     0x7ff975fe05bb - rustc_data_structures[c091396baa5b4273]::sync::par_for_each_in::<&[rustc_span[bbe0f66ef284826a]::def_id::LocalDefId], <rustc_middle[dfd82c6002866a15]::hir::map::Map>::par_body_owners<rustc_interface[13bf44d341eff004]::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  39:     0x7ff975fff5d4 - <rustc_session[bc9cdb1d39cb78a0]::session::Session>::time::<(), rustc_interface[13bf44d341eff004]::passes::analysis::{closure#2}>
  40:     0x7ff9760943cf - rustc_interface[13bf44d341eff004]::passes::analysis
  41:     0x7ff9776d7431 - <rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::analysis, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core[816742d9c96f4e3c]::ops::function::FnOnce<((rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt, rustc_query_impl[df07470aa3f72235]::queries::analysis), ())>>::call_once
  42:     0x7ff97756ece6 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<<rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepGraphData<rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt, rustc_query_impl[df07470aa3f72235]::queries::analysis), (), rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>>
  43:     0x7ff97769c7cb - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::analysis, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>
  44:     0x7ff9779f6921 - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::analysis, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  45:     0x7ff97780b8f1 - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::analysis
  46:     0x7ff975f49e57 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<<rustc_middle[dfd82c6002866a15]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>
  47:     0x7ff975f177f2 - <rustc_interface[13bf44d341eff004]::queries::QueryResult<&rustc_middle[dfd82c6002866a15]::ty::context::GlobalCtxt>>::enter::<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}::{closure#2}::{closure#4}>
  48:     0x7ff975f51b1c - <rustc_interface[13bf44d341eff004]::interface::Compiler>::enter::<rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}::{closure#2}, core[816742d9c96f4e3c]::result::Result<core[816742d9c96f4e3c]::option::Option<rustc_interface[13bf44d341eff004]::queries::Linker>, rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>
  49:     0x7ff975f0fc31 - rustc_span[bbe0f66ef284826a]::set_source_map::<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_interface[13bf44d341eff004]::interface::run_compiler<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  50:     0x7ff975f1f9f6 - std[c392fa73687851ba]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[13bf44d341eff004]::util::run_in_thread_pool_with_globals<rustc_interface[13bf44d341eff004]::interface::run_compiler<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>
  51:     0x7ff975f15a4d - <<std[c392fa73687851ba]::thread::Builder>::spawn_unchecked_<rustc_interface[13bf44d341eff004]::util::run_in_thread_pool_with_globals<rustc_interface[13bf44d341eff004]::interface::run_compiler<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#1} as core[816742d9c96f4e3c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  52:     0x7ff9c84ae067 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9c8159a1f412c67b
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\alloc\src/boxed.rs:1973:9
  53:     0x7ff9c84ae067 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3a46cd6dd2fa5524
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\alloc\src/boxed.rs:1973:9
  54:     0x7ff9c84ae067 - std::sys::windows::thread::Thread::new::thread_start::ha637516e3ae28d81
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys\windows/thread.rs:56:17
  55:     0x7ffa5ed826ad - <unknown>
  56:     0x7ffa5fe8a9f8 - <unknown>

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: rustc 1.70.0 (90c541806 2023-05-31) running on x86_64-pc-windows-gnu    

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [mir_built] building MIR for `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with`
#1 [mir_const] preparing `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with` for borrow checking
#2 [mir_promoted] processing MIR for `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with`
#3 [mir_borrowck] borrow-checking `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with`
#4 [analysis] running analysis passes on this crate
end of query stack
error: internal compiler error: re-entrant incremental verify failure, suppressing message

error: could not compile `nes_emu` (lib) due to 2 previous errors             
warning: build failed, waiting for other jobs to finish...
error: internal compiler error: encountered incremental compilation error with mir_built(e1303804d9b1c67a-f92e44801231fc79)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p nes_emu` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at 'Found unstable fingerprints for mir_built(e1303804d9b1c67a-f92e44801231fc79): Steal { value: RwLock(RefCell { value: Some(Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_3), StorageLive(_4), StorageLive(_5), _5 = &((*_1).0: std::sync::Mutex<cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] }, kind: _4 = Mutex::<__mock_MockCartridge_Cartridge::__read::Matcher>::lock(move _5) -> [return: bb1, unwind: bb21] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_5)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] }, kind: _3 = Result::<MutexGuard<'_, __mock_MockCartridge_Cartridge::__read::Matcher>, PoisonError<MutexGuard<'_, __mock_MockCartridge_Cartridge::__read::Matcher>>>::unwrap(move _4) -> [return: bb2, unwind: bb20] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_4), FakeRead(ForLet(None), _3), StorageLive(_6), StorageLive(_7), StorageLive(_8), StorageLive(_9), StorageLive(_10), StorageLive(_11), _11 = move _2], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[1] }, kind: _10 = Box::<MockallMatcher0>::new(move _11) -> [return: bb3, unwind: bb18] }), is_cleanup: false }, BasicBlockData { statements: [_9 = move _10 as std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send> (Pointer(Unsize))], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_10) -> [return: bb4, unwind: bb16] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_11), StorageDead(_10), _8 = (move _9,)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_9) -> [return: bb5, unwind: bb15] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_9)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[1] }, kind: _7 = Box::<(Box<dyn Predicate<u16> + Send>,)>::new(move _8) -> [return: bb6, unwind: bb15] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_8), _6 = __mock_MockCartridge_Cartridge::__read::Matcher::Pred(move _7)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_7) -> [return: bb7, unwind: bb14] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_7), StorageLive(_12), StorageLive(_13), _13 = &mut _3], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[1] }, kind: _12 = <MutexGuard<'_, __mock_MockCartridge_Cartridge::__read::Matcher> as DerefMut>::deref_mut(move _13) -> [return: bb8, unwind: bb14] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_13)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#4549), scope: scope[1] }, kind: drop((*_12)) -> [return: bb9, unwind: bb10] }), is_cleanup: false }, BasicBlockData { statements: [(*_12) = move _6], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_6) -> [return: bb11, unwind: bb19] }), is_cleanup: false }, BasicBlockData { statements: [(*_12) = move _6], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#4549), scope: scope[1] }, kind: goto -> bb14 }), is_cleanup: true }, BasicBlockData { statements: [StorageDead(_6), StorageDead(_12), _0 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[0] }, kind: drop(_3) -> [return: bb12, unwind: bb21] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[0] }, kind: drop(_2) -> [return: bb13, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:12: 5:12 (#21), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_6) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_8) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_11) -> [return: bb17, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_9) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[1] }, kind: drop(_11) -> [return: bb19, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[0] }, kind: drop(_3) -> [return: bb21, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[0] }, kind: drop(_4) -> [return: bb21, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:11: 5:12 (#21), scope: scope[0] }, kind: drop(_2) -> [return: bb22, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] }, kind: resume }), is_cleanup: true }], cache: Cache { predecessors: OnceCell(Uninit), switch_sources: OnceCell(Uninit), is_cyclic: OnceCell(Uninit), postorder: OnceCell(Uninit) } }, phase: Built, pass_count: 0, source: MirSource { instance: Item(WithOptConstParam { did: DefId(0:1393 ~ nes_emu[8c6a]::cartridge::__mock_MockCartridge_Cartridge::__read::{impl#6}::with), const_param_did: None }), promoted: None }, source_scopes: [SourceScopeData { span: src\cartridge.rs:5:1: 5:12 (#21), parent_scope: None, inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:1393 ~ nes_emu[8c6a]::cartridge::__mock_MockCartridge_Cartridge::__read::{impl#6}::with).0), safety: Safe }) }, SourceScopeData { span: src\cartridge.rs:5:1: 5:12 (#21), parent_scope: Some(scope[0]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:1393 ~ nes_emu[8c6a]::cartridge::__mock_MockCartridge_Cartridge::__read::{impl#6}::with).0), safety: Safe }) }], generator: None, local_decls: [LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: (), user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:1 (#21), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(ImplicitSelf(MutRef))), internal: false, ty: &mut cartridge::__mock_MockCartridge_Cartridge::__read::Common, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_info: Some(src\cartridge.rs:5:1: 5:12 (#21)), opt_match_place: Some((None, src\cartridge.rs:7:20: 7:24 (#0))), pat_span: src\cartridge.rs:7:20: 7:24 (#0) }))), internal: false, ty: MockallMatcher0, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:7:20: 7:24 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, src\cartridge.rs:5:1: 5:12 (#21))), pat_span: src\cartridge.rs:5:1: 5:12 (#21) }))), internal: false, ty: std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::result::Result<std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, std::sync::PoisonError<std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>>>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &std::sync::Mutex<cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: cartridge::__mock_MockCartridge_Cartridge::__read::Matcher, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(AggregateTemp), internal: false, ty: std::boxed::Box<(std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: (std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,), user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<MockallMatcher0>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: MockallMatcher0, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:7:20: 7:24 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &mut cartridge::__mock_MockCartridge_Cartridge::__read::Matcher, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &mut std::sync::MutexGuard<'_, cartridge::__mock_MockCartridge_Cartridge::__read::Matcher>, user_ty: None, source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] } }], user_type_annotations: [CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[dbf7]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[dbf7]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src\cartridge.rs:5:1: 5:12 (#21), inferred_ty: fn((std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)) -> std::boxed::Box<(std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)> {std::boxed::Box::<(std::boxed::Box<dyn mockall::Predicate<u16> + std::marker::Send>,)>::new} }, CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[dbf7]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[dbf7]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src\cartridge.rs:5:1: 5:12 (#21), inferred_ty: fn(MockallMatcher0) -> std::boxed::Box<MockallMatcher0> {std::boxed::Box::<MockallMatcher0>::new} }], arg_count: 2, spread_arg: None, var_debug_info: [VarDebugInfo { name: "self", source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[0] }, value: _1, argument_index: Some(1) }, VarDebugInfo { name: "addr", source_info: SourceInfo { span: src\cartridge.rs:7:20: 7:24 (#0), scope: scope[0] }, value: _2, argument_index: Some(2) }, VarDebugInfo { name: "__mockall_guard", source_info: SourceInfo { span: src\cartridge.rs:5:1: 5:12 (#21), scope: scope[1] }, value: _3, argument_index: None }], span: src\cartridge.rs:5:1: 5:12 (#21), required_consts: [], is_polymorphic: true, injection_phase: None, tainted_by_errors: None }) }) }', /rustc/90c541806f23a127002de5b4038be731ba1458ca\compiler\rustc_query_system\src\query\plumbing.rs:715:9
stack backtrace:
   0:     0x7ff9c8498551 - std::backtrace_rs::backtrace::dbghelp::trace::hb3b97cc066d4847d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\..\..\backtrace\src\backtrace/dbghelp.rs:98:5
   1:     0x7ff9c8498551 - std::backtrace_rs::backtrace::trace_unsynchronized::ha819ab612ac36bbe
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\..\..\backtrace\src\backtrace/mod.rs:66:5
   2:     0x7ff9c8498551 - std::sys_common::backtrace::_print_fmt::hdd5c2174c4f4d555
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:65:5
   3:     0x7ff9c8498551 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h8f7f3402939f5539
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:44:22
   4:     0x7ff9c8504ceb - core::fmt::write::h3f5e3c0aa3e2af00
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\core\src\fmt/mod.rs:1254:17
   5:     0x7ff9c848cf95 - std::io::Write::write_fmt::hde50e103eb4e2f02       
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\io/mod.rs:1698:15
   6:     0x7ff9c84982a4 - std::sys_common::backtrace::_print::h43388466f2de4c77
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:47:5
   7:     0x7ff9c84982a4 - std::sys_common::backtrace::print::hdff773c58a1638a6
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:34:9
   8:     0x7ff9c849b550 - std::panicking::default_hook::{{closure}}::h4c841bc364d18b06
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:269:22
   9:     0x7ff9c849b262 - std::panicking::default_hook::ha42229545a00f216    
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:288:9
  10:     0x7ff975efee8e - rustc_driver_impl[a6a3a4f145fa1f6]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7ff9c849be82 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a8565d464e109f6
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\alloc\src/boxed.rs:1987:9
  12:     0x7ff9c849be82 - std::panicking::rust_panic_with_hook::h8178388b69906e11
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:695:13
  13:     0x7ff9c849bbc6 - std::panicking::begin_panic_handler::{{closure}}::h88dfa9b0e5006643
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:582:13
  14:     0x7ff9c8499049 - std::sys_common::backtrace::__rust_end_short_backtrace::h2a866522834b7ef1
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys_common/backtrace.rs:150:18
  15:     0x7ff9c849b910 - rust_begin_unwind
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:578:5
  16:     0x7ff9c8500ec5 - core::panicking::panic_fmt::h1dc319aea0b05bce      
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\core\src/panicking.rs:67:14
  17:     0x7ff977a02ab8 - rustc_query_system[f333ae2e37661dd9]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[dfd82c6002866a15]::ty::context::TyCtxt>
  18:     0x7ff9776a4e98 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_built, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>
  19:     0x7ff9779fdbdc - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_built, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  20:     0x7ff97780e7ab - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_built
  21:     0x7ff97681547d - rustc_mir_transform[21a6e56276a17e1c]::mir_const   
  22:     0x7ff977585402 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl[df07470aa3f72235]::queries::mir_const, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>>
  23:     0x7ff9776a5606 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_const, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>
  24:     0x7ff9779fe54c - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_const, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  25:     0x7ff97780ea0b - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_const
  26:     0x7ff976815e1c - rustc_mir_transform[21a6e56276a17e1c]::mir_promoted
  27:     0x7ff9775723a8 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl[df07470aa3f72235]::queries::mir_promoted, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 16usize]>>
  28:     0x7ff9775e8468 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_promoted, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#1}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[816742d9c96f4e3c]::option::Option<(rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>>        
  29:     0x7ff977957b51 - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_promoted, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  30:     0x7ff97780f853 - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_promoted
  31:     0x7ff976f7a3e7 - rustc_borrowck[fc9334b3185d642f]::mir_borrowck     
  32:     0x7ff976f53365 - <rustc_borrowck[fc9334b3185d642f]::provide::{closure#0} as core[816742d9c96f4e3c]::ops::function::FnOnce<(rustc_middle[dfd82c6002866a15]::ty::context::TyCtxt, rustc_span[bbe0f66ef284826a]::def_id::LocalDefId)>>::call_once
  33:     0x7ff97755e797 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<<rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepGraphData<rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt, rustc_query_impl[df07470aa3f72235]::queries::mir_borrowck), rustc_span[bbe0f66ef284826a]::def_id::LocalDefId, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>>
  34:     0x7ff9775e6026 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::mir_borrowck, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>
  35:     0x7ff977956a4e - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::mir_borrowck, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  36:     0x7ff977819546 - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::mir_borrowck
  37:     0x7ff97602257e - <core[816742d9c96f4e3c]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[c091396baa5b4273]::sync::par_for_each_in<&[rustc_span[bbe0f66ef284826a]::def_id::LocalDefId], <rustc_middle[dfd82c6002866a15]::hir::map::Map>::par_body_owners<rustc_interface[13bf44d341eff004]::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}> as core[816742d9c96f4e3c]::ops::function::FnOnce<()>>::call_once
  38:     0x7ff975fe05bb - rustc_data_structures[c091396baa5b4273]::sync::par_for_each_in::<&[rustc_span[bbe0f66ef284826a]::def_id::LocalDefId], <rustc_middle[dfd82c6002866a15]::hir::map::Map>::par_body_owners<rustc_interface[13bf44d341eff004]::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  39:     0x7ff975fff5d4 - <rustc_session[bc9cdb1d39cb78a0]::session::Session>::time::<(), rustc_interface[13bf44d341eff004]::passes::analysis::{closure#2}>
  40:     0x7ff9760943cf - rustc_interface[13bf44d341eff004]::passes::analysis
  41:     0x7ff9776d7431 - <rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::analysis, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core[816742d9c96f4e3c]::ops::function::FnOnce<((rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt, rustc_query_impl[df07470aa3f72235]::queries::analysis), ())>>::call_once
  42:     0x7ff97756ece6 - <rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind as rustc_query_system[f333ae2e37661dd9]::dep_graph::DepKind>::with_deps::<<rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepGraphData<rustc_middle[dfd82c6002866a15]::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt, rustc_query_impl[df07470aa3f72235]::queries::analysis), (), rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>>::{closure#0}, rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>>
  43:     0x7ff97769c7cb - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<rustc_query_system[f333ae2e37661dd9]::query::plumbing::execute_job_incr<rustc_query_impl[df07470aa3f72235]::queries::analysis, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[dfd82c6002866a15]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[f333ae2e37661dd9]::dep_graph::graph::DepNodeIndex)>
  44:     0x7ff9779f6921 - rustc_query_system[f333ae2e37661dd9]::query::plumbing::try_execute_query::<rustc_query_impl[df07470aa3f72235]::queries::analysis, rustc_query_impl[df07470aa3f72235]::plumbing::QueryCtxt>
  45:     0x7ff97780b8f1 - <rustc_query_impl[df07470aa3f72235]::Queries as rustc_middle[dfd82c6002866a15]::ty::query::QueryEngine>::analysis
  46:     0x7ff975f49e57 - <std[c392fa73687851ba]::thread::local::LocalKey<core[816742d9c96f4e3c]::cell::Cell<*const ()>>>::with::<rustc_middle[dfd82c6002866a15]::ty::context::tls::enter_context<<rustc_middle[dfd82c6002866a15]::ty::context::GlobalCtxt>::enter<rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>
  47:     0x7ff975f177f2 - <rustc_interface[13bf44d341eff004]::queries::QueryResult<&rustc_middle[dfd82c6002866a15]::ty::context::GlobalCtxt>>::enter::<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}::{closure#2}::{closure#4}>
  48:     0x7ff975f51b1c - <rustc_interface[13bf44d341eff004]::interface::Compiler>::enter::<rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}::{closure#2}, core[816742d9c96f4e3c]::result::Result<core[816742d9c96f4e3c]::option::Option<rustc_interface[13bf44d341eff004]::queries::Linker>, rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>
  49:     0x7ff975f0fc31 - rustc_span[bbe0f66ef284826a]::set_source_map::<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_interface[13bf44d341eff004]::interface::run_compiler<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  50:     0x7ff975f1f9f6 - std[c392fa73687851ba]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[13bf44d341eff004]::util::run_in_thread_pool_with_globals<rustc_interface[13bf44d341eff004]::interface::run_compiler<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>
  51:     0x7ff975f15a4d - <<std[c392fa73687851ba]::thread::Builder>::spawn_unchecked_<rustc_interface[13bf44d341eff004]::util::run_in_thread_pool_with_globals<rustc_interface[13bf44d341eff004]::interface::run_compiler<core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>, rustc_driver_impl[a6a3a4f145fa1f6]::run_compiler::{closure#1}>::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[816742d9c96f4e3c]::result::Result<(), rustc_span[bbe0f66ef284826a]::ErrorGuaranteed>>::{closure#1} as core[816742d9c96f4e3c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  52:     0x7ff9c84ae067 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9c8159a1f412c67b
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\alloc\src/boxed.rs:1973:9
  53:     0x7ff9c84ae067 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3a46cd6dd2fa5524
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\alloc\src/boxed.rs:1973:9
  54:     0x7ff9c84ae067 - std::sys::windows::thread::Thread::new::thread_start::ha637516e3ae28d81
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src\sys\windows/thread.rs:56:17
  55:     0x7ffa5ed826ad - <unknown>
  56:     0x7ffa5fe8a9f8 - <unknown>

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: rustc 1.70.0 (90c541806 2023-05-31) running on x86_64-pc-windows-gnu    

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [mir_built] building MIR for `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with`
#1 [mir_const] preparing `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with` for borrow checking
#2 [mir_promoted] processing MIR for `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with`
#3 [mir_borrowck] borrow-checking `cartridge::__mock_MockCartridge_Cartridge::__read::<impl at src\cartridge.rs:5:1: 5:12>::with`
#4 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `nes_emu` (lib test) due to 2 previous errors  
Backtrace

stack backtrace:
   0: rust_begin_unwind
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:578:5
   1: core::panicking::panic_fmt
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\core\src/panicking.rs:67:14
   2: rustc_query_system::query::plumbing::incremental_verify_ich_failed::<rustc_middle::ty::context::TyCtxt>
   3: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::mir_built, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
   4: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_built, rustc_query_impl::plumbing::QueryCtxt>
   5: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_built
   6: rustc_mir_transform::mir_const
   7: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<rustc_query_system::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl::queries::mir_const, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, rustc_middle::query::erase::Erased<[u8; 8]>>
   8: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::mir_const, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
   9: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_const, rustc_query_impl::plumbing::QueryCtxt>
  10: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_const
  11: rustc_mir_transform::mir_promoted
  12: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<rustc_query_system::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl::queries::mir_promoted, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, rustc_middle::query::erase::Erased<[u8; 16]>>
  13: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::mir_promoted, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
  14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_promoted, rustc_query_impl::plumbing::QueryCtxt>
  15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_promoted
  16: rustc_borrowck::mir_borrowck
  17: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once 
  18: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<rustc_query_system::query::plumbing::try_load_from_disk_and_cache_in_memory<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, rustc_middle::query::erase::Erased<[u8; 8]>>
  19: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>::{closure#1}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core::option::Option<(rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>>
  20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  21: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_borrowck
  22: <rustc_middle::ty::context::TyCtxt>::mir_borrowck_opt_const_arg
  23: rustc_mir_transform::mir_drops_elaborated_and_const_checked
  24: <rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::mir_drops_elaborated_and_const_checked, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core::ops::function::FnOnce<((rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::queries::mir_drops_elaborated_and_const_checked), rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>)>>::call_once
  25: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::queries::mir_drops_elaborated_and_const_checked), rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, rustc_middle::query::erase::Erased<[u8; 8]>>::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
  26: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::mir_drops_elaborated_and_const_checked, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
  27: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_drops_elaborated_and_const_checked, rustc_query_impl::plumbing::QueryCtxt>
  28: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_drops_elaborated_and_const_checked
  29: rustc_mir_transform::optimized_mir
  30: <rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::optimized_mir, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core::ops::function::FnOnce<((rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::queries::optimized_mir), rustc_span::def_id::DefId)>>::call_once
  31: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::queries::optimized_mir), rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 8]>>::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
  32: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::optimized_mir, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
  33: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::optimized_mir, rustc_query_impl::plumbing::QueryCtxt>
  34: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::optimized_mir
  35: <rustc_middle::ty::context::TyCtxt>::instance_mir
  36: rustc_monomorphize::collector::collect_neighbours
  37: rustc_monomorphize::collector::collect_items_rec
  38: rustc_monomorphize::collector::collect_items_rec
  39: rustc_monomorphize::collector::collect_items_rec
  40: rustc_monomorphize::collector::collect_items_rec
  41: rustc_monomorphize::collector::collect_items_rec
  42: <core::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures::sync::par_for_each_in<alloc::vec::Vec<rustc_middle::mir::mono::MonoItem>, rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
  43: rustc_data_structures::sync::par_for_each_in::<alloc::vec::Vec<rustc_middle::mir::mono::MonoItem>, rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}::{closure#0}>
  44: <rustc_session::session::Session>::time::<(), rustc_monomorphize::collector::collect_crate_mono_items::{closure#1}>
  45: rustc_monomorphize::collector::collect_crate_mono_items
  46: rustc_monomorphize::partitioning::collect_and_partition_mono_items      
  47: <rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::collect_and_partition_mono_items, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}::{closure#2} as core::ops::function::FnOnce<((rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::queries::collect_and_partition_mono_items), ())>>::call_once
  48: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraphData<rustc_middle::dep_graph::dep_node::DepKind>>::with_task<(rustc_query_impl::plumbing::QueryCtxt, rustc_query_impl::queries::collect_and_partition_mono_items), (), rustc_middle::query::erase::Erased<[u8; 24]>>::{closure#0}, rustc_middle::query::erase::Erased<[u8; 24]>>
  49: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::collect_and_partition_mono_items, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 24]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 24]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
  50: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::collect_and_partition_mono_items, rustc_query_impl::plumbing::QueryCtxt>
  51: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_and_partition_mono_items
  52: rustc_codegen_ssa::base::codegen_crate::<rustc_codegen_llvm::LlvmCodegenBackend>
  53: <rustc_codegen_llvm::LlvmCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate
  54: <rustc_session::session::Session>::time::<alloc::boxed::Box<dyn core::any::Any>, rustc_interface::passes::start_codegen::{closure#0}>
  55: rustc_interface::passes::start_codegen
  56: <rustc_middle::ty::context::GlobalCtxt>::enter::<<rustc_interface::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core::result::Result<alloc::boxed::Box<dyn core::any::Any>, rustc_span::ErrorGuaranteed>>
  57: <rustc_interface::queries::Queries>::ongoing_codegen
  58: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
  59: rustc_span::set_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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

@MWJones96 MWJones96 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 Jun 9, 2023
@saethlin
Copy link
Member

saethlin commented Jun 9, 2023

I think you truncated the important part, the helpful error message is at the top of an ICE. Can you edit that in?

@lqd
Copy link
Member

lqd commented Jun 10, 2023

This looks like an incremental unstable fingerprints ICE on mir_built, like some other recent issues. If it happens often, it would be helpful to capture the exact baseline and change done when the ICE appeared. We could then reproduce it, validate if recent work has fixed it (e.g. #111952), add tests, and so on.

@MWJones96
Copy link
Author

Hey guys,

I managed to recreate the issue and have pasted the full log. The code that produces the error is the latest commit in the NESEmulator repo on my profile.

@lqd
Copy link
Member

lqd commented Jun 12, 2023

I managed to recreate the issue and have pasted the full log. The code that produces the error is the latest commit in the NESEmulator repo on my profile.

It seems some commits were added to the repository since your message was posted, did you mean f3779700c76479bf38653df26291c29ed4e2b5b1 maybe ?
Do you also have the commands to run so we can reproduce the issue ?

@MWJones96
Copy link
Author

MWJones96 commented Jun 12, 2023 via email

@jonathanhood
Copy link

I have observed a similar issue in a private repository surrounding the usage of mockall. It happens for me nearly every build and a clean is required to get running again. Error log below - the bottom part with the stack trace looks very similiar to the original report here - but let me know if I should file a seperate ticket.

parallels@ubuntu-linux-22-04-desktop:~/projects/tango-tango/trig_daemon$ cargo test
   Compiling trig_daemon v0.1.0 (/home/parallels/projects/tango-tango/trig_daemon)
error: internal compiler error: encountered incremental compilation error with mir_built(1f77d9e975aee321-cfb9291e80a4111f)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p trig_daemon` or `cargo clean` to allow your project to compile
  = note: Please follow the instructions below to create a bug report with the provided information
  = note: See <https://github.com/rust-lang/rust/issues/84970> for more information

thread 'rustc' panicked at 'Found unstable fingerprints for mir_built(1f77d9e975aee321-cfb9291e80a4111f): Steal { value: RwLock(RefCell { value: Some(Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_4), StorageLive(_5), StorageLive(_6), _6 = &((*_1).0: std::sync::Mutex<drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher>)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] }, kind: _5 = Mutex::<__read_pin_input::Matcher>::lock(move _6) -> [return: bb1, unwind: bb29] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_6)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] }, kind: _4 = Result::<MutexGuard<'_, __read_pin_input::Matcher>, PoisonError<MutexGuard<'_, __read_pin_input::Matcher>>>::unwrap(move _5) -> [return: bb2, unwind: bb28] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_5), FakeRead(ForLet(None), _4), StorageLive(_7), StorageLive(_8), StorageLive(_9), StorageLive(_10), StorageLive(_11), StorageLive(_12), _12 = move _2], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[1] }, kind: _11 = Box::<MockallMatcher0>::new(move _12) -> [return: bb3, unwind: bb26] }), is_cleanup: false }, BasicBlockData { statements: [_10 = move _11 as std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send> (Pointer(Unsize))], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_11) -> [return: bb4, unwind: bb24] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_12), StorageDead(_11), StorageLive(_13), StorageLive(_14), StorageLive(_15), _15 = move _3], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[1] }, kind: _14 = Box::<MockallMatcher1>::new(move _15) -> [return: bb5, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [_13 = move _14 as std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send> (Pointer(Unsize))], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_14) -> [return: bb6, unwind: bb21] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_15), StorageDead(_14), _9 = (move _10, move _13)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_13) -> [return: bb7, unwind: bb19] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_13)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_10) -> [return: bb8, unwind: bb20] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_10)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[1] }, kind: _8 = Box::<(Box<dyn Predicate<usize> + Send>, Box<dyn Predicate<usize> + Send>)>::new(move _9) -> [return: bb9, unwind: bb20] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_9), _7 = __read_pin_input::Matcher::Pred(move _8)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_8) -> [return: bb10, unwind: bb18] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_8), StorageLive(_16), StorageLive(_17), _17 = &mut _4], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[1] }, kind: _16 = <MutexGuard<'_, __read_pin_input::Matcher> as DerefMut>::deref_mut(move _17) -> [return: bb11, unwind: bb18] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_17)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#2020), scope: scope[1] }, kind: drop((*_16)) -> [return: bb12, unwind: bb13] }), is_cleanup: false }, BasicBlockData { statements: [(*_16) = move _7], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_7) -> [return: bb14, unwind: bb27] }), is_cleanup: false }, BasicBlockData { statements: [(*_16) = move _7], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#2020), scope: scope[1] }, kind: goto -> bb18 }), is_cleanup: true }, BasicBlockData { statements: [StorageDead(_7), StorageDead(_16), _0 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_4) -> [return: bb15, unwind: bb29] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_4)], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_3) -> [return: bb16, unwind: bb30] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_2) -> [return: bb17, unwind: bb31] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:21: 17:21 (#12), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_7) -> [return: bb27, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_10) -> [return: bb20, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_9) -> [return: bb27, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_15) -> [return: bb22, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_13) -> [return: bb25, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_15) -> [return: bb25, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_12) -> [return: bb25, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_10) -> [return: bb27, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[1] }, kind: drop(_12) -> [return: bb27, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_4) -> [return: bb29, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_5) -> [return: bb29, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_3) -> [return: bb30, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:20: 17:21 (#12), scope: scope[0] }, kind: drop(_2) -> [return: bb31, unwind terminate] }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] }, kind: resume }), is_cleanup: true }], cache: Cache { predecessors: OnceCell(Uninit), switch_sources: OnceCell(Uninit), is_cyclic: OnceCell(Uninit), postorder: OnceCell(Uninit) } }, phase: Built, pass_count: 0, source: MirSource { instance: Item(WithOptConstParam { did: DefId(0:914 ~ trig_daemon[ff99]::drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::{impl#6}::with), const_param_did: None }), promoted: None }, source_scopes: [SourceScopeData { span: src/drivers/gpio.rs:17:1: 17:21 (#12), parent_scope: None, inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:914 ~ trig_daemon[ff99]::drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::{impl#6}::with).0), safety: Safe }) }, SourceScopeData { span: src/drivers/gpio.rs:17:1: 17:21 (#12), parent_scope: Some(scope[0]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId(DefId(0:914 ~ trig_daemon[ff99]::drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::{impl#6}::with).0), safety: Safe }) }], generator: None, local_decls: [LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: (), user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:1 (#12), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(ImplicitSelf(MutRef))), internal: false, ty: &mut drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Common, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_info: Some(src/drivers/gpio.rs:17:1: 17:21 (#12)), opt_match_place: Some((None, src/drivers/gpio.rs:23:30: 23:34 (#0))), pat_span: src/drivers/gpio.rs:23:30: 23:34 (#0) }))), internal: false, ty: MockallMatcher0, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:23:30: 23:34 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_info: Some(src/drivers/gpio.rs:17:1: 17:21 (#12)), opt_match_place: Some((None, src/drivers/gpio.rs:23:43: 23:46 (#0))), pat_span: src/drivers/gpio.rs:23:43: 23:46 (#0) }))), internal: false, ty: MockallMatcher1, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:23:43: 23:46 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(User(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, src/drivers/gpio.rs:17:1: 17:21 (#12))), pat_span: src/drivers/gpio.rs:17:1: 17:21 (#12) }))), internal: false, ty: std::sync::MutexGuard<'_, drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::result::Result<std::sync::MutexGuard<'_, drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher>, std::sync::PoisonError<std::sync::MutexGuard<'_, drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher>>>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &std::sync::Mutex<drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(AggregateTemp), internal: false, ty: std::boxed::Box<(std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>)>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: (std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>), user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<MockallMatcher0>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: MockallMatcher0, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:23:30: 23:34 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: std::boxed::Box<MockallMatcher1>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: MockallMatcher1, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:23:43: 23:46 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &mut drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Set(Boring), internal: false, ty: &mut std::sync::MutexGuard<'_, drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::Matcher>, user_ty: None, source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] } }], user_type_annotations: [CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[8e60]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[8e60]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src/drivers/gpio.rs:17:1: 17:21 (#12), inferred_ty: fn((std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>)) -> std::boxed::Box<(std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>)> {std::boxed::Box::<(std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>, std::boxed::Box<dyn mockall::Predicate<usize> + std::marker::Send>)>::new} }, CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[8e60]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[8e60]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src/drivers/gpio.rs:17:1: 17:21 (#12), inferred_ty: fn(MockallMatcher0) -> std::boxed::Box<MockallMatcher0> {std::boxed::Box::<MockallMatcher0>::new} }, CanonicalUserTypeAnnotation { user_ty: Canonical { value: TypeOf(DefId(5:285 ~ alloc[8e60]::boxed::{impl#0}::new), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:283 ~ alloc[8e60]::boxed::{impl#0}), self_ty: std::boxed::Box<^1, ^2> }) }), max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }] }, span: src/drivers/gpio.rs:17:1: 17:21 (#12), inferred_ty: fn(MockallMatcher1) -> std::boxed::Box<MockallMatcher1> {std::boxed::Box::<MockallMatcher1>::new} }], arg_count: 3, spread_arg: None, var_debug_info: [VarDebugInfo { name: "self", source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[0] }, value: _1, argument_index: Some(1) }, VarDebugInfo { name: "port", source_info: SourceInfo { span: src/drivers/gpio.rs:23:30: 23:34 (#0), scope: scope[0] }, value: _2, argument_index: Some(2) }, VarDebugInfo { name: "pin", source_info: SourceInfo { span: src/drivers/gpio.rs:23:43: 23:46 (#0), scope: scope[0] }, value: _3, argument_index: Some(3) }, VarDebugInfo { name: "__mockall_guard", source_info: SourceInfo { span: src/drivers/gpio.rs:17:1: 17:21 (#12), scope: scope[1] }, value: _4, argument_index: None }], span: src/drivers/gpio.rs:17:1: 17:21 (#12), required_consts: [], is_polymorphic: true, injection_phase: None, tainted_by_errors: None }) }) }', /rustc/90c541806f23a127002de5b4038be731ba1458ca/compiler/rustc_query_system/src/query/plumbing.rs:715:9
stack backtrace:
   0:     0xffff804b4dfc - std::backtrace_rs::backtrace::libunwind::trace::hb03bf07da3096b0a
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0xffff804b4dfc - std::backtrace_rs::backtrace::trace_unsynchronized::hdb7a184e8aa369fa
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0xffff804b4dfc - std::sys_common::backtrace::_print_fmt::h095e7a1ddd3e2196
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:65:5
   3:     0xffff804b4dfc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h687989fbc4e49c23
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:44:22
   4:     0xffff8050e9a0 - core::fmt::write::h84a4b2357213f62f
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/fmt/mod.rs:1254:17
   5:     0xffff804a9e04 - std::io::Write::write_fmt::h5332f707e1fe7f76
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/io/mod.rs:1698:15
   6:     0xffff804b4c08 - std::sys_common::backtrace::_print::he25baf0f531996a8
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5
   7:     0xffff804b4c08 - std::sys_common::backtrace::print::hed8e08110966e47b
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:34:9
   8:     0xffff804b74e4 - std::panicking::default_hook::{{closure}}::h0fc4ddd66f9c74db
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:269:22
   9:     0xffff804b7290 - std::panicking::default_hook::ha8a1e0111166c899
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:288:9
  10:     0xffff812142c0 - rustc_driver_impl[1218e178e4ace122]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0xffff804b7c0c - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h154bc1a65035f53e
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1987:9
  12:     0xffff804b7c0c - std::panicking::rust_panic_with_hook::hc1899de1550da6fc
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:695:13
  13:     0xffff804b79c4 - std::panicking::begin_panic_handler::{{closure}}::h3a0da81bc6915d32
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:582:13
  14:     0xffff804b5248 - std::sys_common::backtrace::__rust_end_short_backtrace::h9c2eb8b141eabce6
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:150:18
  15:     0xffff804b7748 - rust_begin_unwind
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5
  16:     0xffff80485080 - core::panicking::panic_fmt::h9ed84968eba0b8ba
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:67:14
  17:     0xffff8107d034 - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::incremental_verify_ich_failed::<rustc_middle[2b9e8031b96e1627]::ty::context::TyCtxt>
  18:     0xffff84f72e58 - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::mir_built, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#1}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>
  19:     0xffff85224378 - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::mir_built, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  20:     0xffff850afab0 - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::mir_built
  21:     0xffff8438fcf0 - rustc_mir_transform[2e0b4794c45bb3f7]::mir_const
  22:     0xffff84f7350c - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::mir_const, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#1}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>
  23:     0xffff85224a30 - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::mir_const, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  24:     0xffff850afc80 - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::mir_const
  25:     0xffff843903b8 - rustc_mir_transform[2e0b4794c45bb3f7]::mir_promoted
  26:     0xffff84edecd4 - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::mir_promoted, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#1}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>
  27:     0xffff851af6e0 - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::mir_promoted, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  28:     0xffff850b076c - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::mir_promoted
  29:     0xffff8498cf2c - rustc_borrowck[318c6172a6e34df7]::mir_borrowck
  30:     0xffff84971324 - <rustc_borrowck[318c6172a6e34df7]::provide::{closure#0} as core[c970b12e91cb686c]::ops::function::FnOnce<(rustc_middle[2b9e8031b96e1627]::ty::context::TyCtxt, rustc_span[9146a3eb7f5b0a7e]::def_id::LocalDefId)>>::call_once
  31:     0xffff84edd6bc - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::mir_borrowck, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#1}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>::{closure#0}, core[c970b12e91cb686c]::option::Option<(rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>>
  32:     0xffff851ae92c - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::mir_borrowck, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  33:     0xffff850b8108 - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::mir_borrowck
  34:     0xffff85e8ee54 - <rustc_middle[2b9e8031b96e1627]::ty::context::TyCtxt>::mir_borrowck_opt_const_arg
  35:     0xffff84390cbc - rustc_mir_transform[2e0b4794c45bb3f7]::mir_drops_elaborated_and_const_checked
  36:     0xffff84f63484 - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::mir_drops_elaborated_and_const_checked, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>
  37:     0xffff85218ba0 - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::mir_drops_elaborated_and_const_checked, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  38:     0xffff850b020c - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::mir_drops_elaborated_and_const_checked
  39:     0xffff84391d30 - rustc_mir_transform[2e0b4794c45bb3f7]::optimized_mir
  40:     0xffff84ee3828 - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::optimized_mir, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>
  41:     0xffff851b328c - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::optimized_mir, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  42:     0xffff850b0e74 - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::optimized_mir
  43:     0xffff85ea4bf8 - <rustc_middle[2b9e8031b96e1627]::ty::context::TyCtxt>::instance_mir
  44:     0xffff842d590c - rustc_monomorphize[7136442e54e7a281]::collector::collect_neighbours
  45:     0xffff842d4110 - rustc_monomorphize[7136442e54e7a281]::collector::collect_items_rec
  46:     0xffff842d4984 - rustc_monomorphize[7136442e54e7a281]::collector::collect_items_rec
  47:     0xffff842d4984 - rustc_monomorphize[7136442e54e7a281]::collector::collect_items_rec
  48:     0xffff842d4984 - rustc_monomorphize[7136442e54e7a281]::collector::collect_items_rec
  49:     0xffff842d4984 - rustc_monomorphize[7136442e54e7a281]::collector::collect_items_rec
  50:     0xffff842fe88c - <core[c970b12e91cb686c]::panic::unwind_safe::AssertUnwindSafe<rustc_data_structures[449f5343c5a56be]::sync::par_for_each_in<alloc[8e6068859dc2de30]::vec::Vec<rustc_middle[2b9e8031b96e1627]::mir::mono::MonoItem>, rustc_monomorphize[7136442e54e7a281]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>::{closure#0}::{closure#0}> as core[c970b12e91cb686c]::ops::function::FnOnce<()>>::call_once
  51:     0xffff842ea9d0 - rustc_data_structures[449f5343c5a56be]::sync::par_for_each_in::<alloc[8e6068859dc2de30]::vec::Vec<rustc_middle[2b9e8031b96e1627]::mir::mono::MonoItem>, rustc_monomorphize[7136442e54e7a281]::collector::collect_crate_mono_items::{closure#1}::{closure#0}>
  52:     0xffff842f5c68 - <rustc_session[6794acc73230852c]::session::Session>::time::<(), rustc_monomorphize[7136442e54e7a281]::collector::collect_crate_mono_items::{closure#1}>
  53:     0xffff842d26dc - rustc_monomorphize[7136442e54e7a281]::collector::collect_crate_mono_items
  54:     0xffff842e6808 - rustc_monomorphize[7136442e54e7a281]::partitioning::collect_and_partition_mono_items
  55:     0xffff84f5fa60 - <std[cfb332619b0d9385]::thread::local::LocalKey<core[c970b12e91cb686c]::cell::Cell<*const ()>>>::with::<rustc_middle[2b9e8031b96e1627]::ty::context::tls::enter_context<rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::execute_job_incr<rustc_query_impl[c2a624be9378fc2d]::queries::collect_and_partition_mono_items, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>::{closure#2}, (rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 24usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle[2b9e8031b96e1627]::query::erase::Erased<[u8; 24usize]>, rustc_query_system[5ece6dd5cd0e951a]::dep_graph::graph::DepNodeIndex)>
  56:     0xffff852154c4 - rustc_query_system[5ece6dd5cd0e951a]::query::plumbing::try_execute_query::<rustc_query_impl[c2a624be9378fc2d]::queries::collect_and_partition_mono_items, rustc_query_impl[c2a624be9378fc2d]::plumbing::QueryCtxt>
  57:     0xffff850c7070 - <rustc_query_impl[c2a624be9378fc2d]::Queries as rustc_middle[2b9e8031b96e1627]::ty::query::QueryEngine>::collect_and_partition_mono_items
  58:     0xffff813f5a30 - rustc_codegen_ssa[5d4bd35b50022f00]::base::codegen_crate::<rustc_codegen_llvm[7d87d47406ecdab6]::LlvmCodegenBackend>
  59:     0xffff813e1398 - <rustc_codegen_llvm[7d87d47406ecdab6]::LlvmCodegenBackend as rustc_codegen_ssa[5d4bd35b50022f00]::traits::backend::CodegenBackend>::codegen_crate
  60:     0xffff812e0684 - <rustc_session[6794acc73230852c]::session::Session>::time::<alloc[8e6068859dc2de30]::boxed::Box<dyn core[c970b12e91cb686c]::any::Any>, rustc_interface[a1e80f5145e82f70]::passes::start_codegen::{closure#0}>
  61:     0xffff81364f04 - rustc_interface[a1e80f5145e82f70]::passes::start_codegen
  62:     0xffff812ae31c - <rustc_middle[2b9e8031b96e1627]::ty::context::GlobalCtxt>::enter::<<rustc_interface[a1e80f5145e82f70]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[c970b12e91cb686c]::result::Result<alloc[8e6068859dc2de30]::boxed::Box<dyn core[c970b12e91cb686c]::any::Any>, rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>
  63:     0xffff813598d8 - <rustc_interface[a1e80f5145e82f70]::queries::Queries>::ongoing_codegen
  64:     0xffff8125ae04 - <rustc_interface[a1e80f5145e82f70]::interface::Compiler>::enter::<rustc_driver_impl[1218e178e4ace122]::run_compiler::{closure#1}::{closure#2}, core[c970b12e91cb686c]::result::Result<core[c970b12e91cb686c]::option::Option<rustc_interface[a1e80f5145e82f70]::queries::Linker>, rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>
  65:     0xffff8121b960 - rustc_span[9146a3eb7f5b0a7e]::set_source_map::<core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>, rustc_interface[a1e80f5145e82f70]::interface::run_compiler<core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>, rustc_driver_impl[1218e178e4ace122]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  66:     0xffff8122ab38 - <scoped_tls[807161504dc4e3bd]::ScopedKey<rustc_span[9146a3eb7f5b0a7e]::SessionGlobals>>::set::<rustc_interface[a1e80f5145e82f70]::interface::run_compiler<core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>, rustc_driver_impl[1218e178e4ace122]::run_compiler::{closure#1}>::{closure#0}, core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>
  67:     0xffff81220428 - std[cfb332619b0d9385]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[a1e80f5145e82f70]::util::run_in_thread_pool_with_globals<rustc_interface[a1e80f5145e82f70]::interface::run_compiler<core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>, rustc_driver_impl[1218e178e4ace122]::run_compiler::{closure#1}>::{closure#0}, core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>
  68:     0xffff81220a08 - <<std[cfb332619b0d9385]::thread::Builder>::spawn_unchecked_<rustc_interface[a1e80f5145e82f70]::util::run_in_thread_pool_with_globals<rustc_interface[a1e80f5145e82f70]::interface::run_compiler<core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>, rustc_driver_impl[1218e178e4ace122]::run_compiler::{closure#1}>::{closure#0}, core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[c970b12e91cb686c]::result::Result<(), rustc_span[9146a3eb7f5b0a7e]::ErrorGuaranteed>>::{closure#1} as core[c970b12e91cb686c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  69:     0xffff804c1350 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6e1de9633f47ca0d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
  70:     0xffff804c1350 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd0e150fd07881867
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/alloc/src/boxed.rs:1973:9
  71:     0xffff804c1350 - std::sys::unix::thread::Thread::new::thread_start::hf43c0dcba69a1a74
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys/unix/thread.rs:108:17
  72:     0xffff802cd5c8 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  73:     0xffff80335d1c - thread_start
                               at ./misc/../sysdeps/unix/sysv/linux/aarch64/clone.S:79
  74:                0x0 - <unknown>

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: rustc 1.70.0 (90c541806 2023-05-31) running on aarch64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [mir_built] building MIR for `drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::<impl at src/drivers/gpio.rs:17:1: 17:21>::with`
#1 [mir_const] preparing `drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::<impl at src/drivers/gpio.rs:17:1: 17:21>::with` for borrow checking
#2 [mir_promoted] processing MIR for `drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::<impl at src/drivers/gpio.rs:17:1: 17:21>::with`
#3 [mir_borrowck] borrow-checking `drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::<impl at src/drivers/gpio.rs:17:1: 17:21>::with`
#4 [mir_drops_elaborated_and_const_checked] elaborating drops for `drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::<impl at src/drivers/gpio.rs:17:1: 17:21>::with`
#5 [optimized_mir] optimizing MIR for `drivers::gpio::__mock_MockGPIOController_GPIOController::__read_pin_input::<impl at src/drivers/gpio.rs:17:1: 17:21>::with`
#6 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
error: could not compile `trig_daemon` (lib test) due to previous error
warning: build failed, waiting for other jobs to finish...

@jonathanhood
Copy link

I'll add that I'm on the latest stable toolchain version (1.70.0). I'm downgrading to older versions and testing because it seems like this used to work.

@jonathanhood
Copy link

jonathanhood commented Jun 23, 2023

I can confirm that this seems to work fine on 1.69.0 and doesn't work on 1.70.0. This seems like some kind of regression. The specific steps I can use to reproduce.

  1. Mock some trait with #[mockall::automock]. Give it a few methods. Don't use or test them yet. Compile and run tests.
  2. Add a test bench. Use the library to set some expectations and call the mocked method.
  3. Observe failure.
  4. Clean the build.
  5. Return to (2)

It seems that the failures happen the first time a mock method gets used in the build where it wasn't used in the previous (and uncleaned) build. I'm assuming this is the same issue that @MWJones96 is having as well - due to the similarity of the stack traces. Can you test with a similiar procedure and see if you observe the same behavior?

@jonathanhood
Copy link

The issue also seems to not occur with the latest nightly compiler version.

parallels@ubuntu-linux-22-04-desktop:~/projects/tango-tango/trig_daemon$ rustc --version --verbose
rustc 1.72.0-nightly (04075b320 2023-06-22)
binary: rustc
commit-hash: 04075b32021932e3e8f6ab55d519b3b3494b6ef9
commit-date: 2023-06-22
host: aarch64-unknown-linux-gnu
release: 1.72.0-nightly
LLVM version: 16.0.5

@jonathanhood
Copy link

It also doesn't seem to occur for me on the latest beta compiler version 🎉

parallels@ubuntu-linux-22-04-desktop:~/projects/tango-tango/trig_daemon$ rustc --version --verbose
rustc 1.71.0-beta.3 (78a6ac0a8 2023-06-08)
binary: rustc
commit-hash: 78a6ac0a86c3feda182dea496c99fc7f866a22e9
commit-date: 2023-06-08
host: aarch64-unknown-linux-gnu
release: 1.71.0-beta.3
LLVM version: 16.0.4

@MWJones96
Copy link
Author

MWJones96 commented Jun 23, 2023 via email

@Noratrieb
Copy link
Member

there was a known issue with mir_built that was fixed on beta, correct. I'm going to close this as it seems like it was fixed. Thank you for the report and investigation anyways!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.
Projects
None yet
Development

No branches or pull requests

5 participants