Closed
Description
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.