Skip to content

Unstable fingerprints for mir_built #107079

Open
@tomaquek

Description

@tomaquek

Cargo panicked while trying to run "cargo test" command. Console output:

Compiling next_dlp_tests v0.1.0 (C:\Users\otb\Documents\Google_Drive\Software_Development\Rust\Next_DLP_tests)
error: internal compiler error: encountered incremental compilation error with mir_built(768d90feaf0de486-c2c63fdb2264ae67)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p next_dlp_tests` 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(768d90feaf0de486-c2c63fdb2264ae67): Steal { value: RwLock(RefCell { value: Some(Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_3), StorageLive(_4), StorageLive(_5), _5 = _1, _6 = CheckedAdd(_5, const 1_usize)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:2:53: 2:58 (#0), scope: scope[0] }, kind: assert(!move (_6.1: bool), "attempt to compute `{} + {}`, which would overflow", move _5, const 1_usize) -> [success: bb1, unwind: bb39] }), is_cleanup: false }, BasicBlockData { statements: [_4 = move (_6.0: usize), StorageDead(_5)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:2:34: 2:59 (#0), scope: scope[0] }, kind: _3 = Vec::<usize>::with_capacity(move _4) -> [return: bb2, unwind: bb39] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_4), FakeRead(ForLet(None), _3), AscribeUserType(_3, o, UserTypeProjection { base: UserType(2), projs: [] }), StorageLive(_7), StorageLive(_8), _8 = &mut _3], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:3:5: 3:19 (#0), scope: scope[1] }, kind: _7 = Vec::<usize>::push(move _8, const 1_usize) -> [return: bb3, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_8), StorageDead(_7), StorageLive(_9), StorageLive(_10), StorageLive(_11), _11 = _1, _10 = Eq(move _11, const 0_usize), StorageDead(_11)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:4:8: 4:16 (#27), scope: scope[1] }, kind: switchInt(move _10) -> [false: bb5, otherwise: bb4] }), is_cleanup: false }, BasicBlockData { statements: [_0 = move _3], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:5:9: 5:22 (#0), scope: scope[1] }, kind: goto -> bb34 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:4:8: 4:16 (#27), scope: scope[1] }, kind: goto -> bb8 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:4:17: 6:6 (#0), scope: scope[1] }, kind: unreachable }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:4:5: 8:6 (#0), scope: scope[1] }, kind: goto -> bb10 }), is_cleanup: false }, BasicBlockData { statements: [StorageLive(_13), StorageLive(_14), _14 = &mut _3], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:7:9: 7:23 (#0), scope: scope[1] }, kind: _13 = Vec::<usize>::push(move _14, const 1_usize) -> [return: bb9, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_14), StorageDead(_13), _9 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:4:5: 8:6 (#0), scope: scope[1] }, kind: goto -> bb10 }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_10), StorageDead(_9), StorageLive(_15), StorageLive(_16), StorageLive(_17), StorageLive(_18), _18 = _1], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#0), scope: scope[1] }, kind: _17 = RangeInclusive::<usize>::new(const 2_usize, move _18) -> [return: bb11, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_18)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[1] }, kind: _16 = <RangeInclusive<usize> as IntoIterator>::into_iter(move _17) -> [return: bb12, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_17), FakeRead(ForMatchedPlace(None), _16), StorageLive(_19), _19 = move _16], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[2] }, kind: goto -> bb13 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[2] }, kind: falseUnwind -> [real: bb14, cleanup: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageLive(_21), StorageLive(_22), StorageLive(_23), StorageLive(_24), _24 = &mut _19, _23 = &mut (*_24)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[2] }, kind: _22 = <RangeInclusive<usize> as Iterator>::next(move _23) -> [return: bb15, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_23), FakeRead(ForMatchedPlace(None), _22), _25 = discriminant(_22)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[2] }, kind: switchInt(move _25) -> [0_isize: bb16, 1_isize: bb17, otherwise: bb18] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[2] }, kind: falseEdge -> [real: bb19, imaginary: bb17] }), is_cleanup: false }, BasicBlockData { statements: [StorageLive(_27), _27 = ((_22 as Some).0: usize), StorageLive(_28), StorageLive(_29), _29 = &mut _3, StorageLive(_30), StorageLive(_31), StorageLive(_32), StorageLive(_33), _33 = &_3, StorageLive(_34), StorageLive(_35), _35 = _27, _36 = CheckedSub(_35, const 2_usize)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:10:28: 10:31 (#0), scope: scope[3] }, kind: assert(!move (_36.1: bool), "attempt to compute `{} - {}`, which would overflow", move _35, const 2_usize) -> [success: bb22, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[2] }, kind: unreachable }), is_cleanup: false }, BasicBlockData { statements: [_15 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[2] }, kind: goto -> bb29 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[2] }, kind: unreachable }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:20: 9:21 (#29), scope: scope[2] }, kind: goto -> bb28 }), is_cleanup: false }, BasicBlockData { statements: [_34 = move (_36.0: usize), StorageDead(_35)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:32 (#0), scope: scope[3] }, kind: _32 = <Vec<usize> as Index<usize>>::index(move _33, move _34) -> [return: bb23, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [_31 = (*_32), StorageDead(_34), StorageDead(_33), StorageLive(_37), StorageLive(_38), StorageLive(_39), _39 = &_3, StorageLive(_40), StorageLive(_41), _41 = _27, _42 = CheckedSub(_41, const 1_usize)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:10:40: 10:43 (#0), scope: scope[3] }, kind: assert(!move (_42.1: bool), "attempt to compute `{} - {}`, which would overflow", move _41, const 1_usize) -> [success: bb24, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [_40 = move (_42.0: usize), StorageDead(_41)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:10:33: 10:44 (#0), scope: scope[3] }, kind: _38 = <Vec<usize> as Index<usize>>::index(move _39, move _40) -> [return: bb25, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [_37 = (*_38), StorageDead(_40), StorageDead(_39), _43 = CheckedAdd(_31, _37)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:44 (#0), scope: scope[3] }, kind: assert(!move (_43.1: bool), "attempt to compute `{} + {}`, which would overflow", move _31, move _37) -> [success: bb26, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [_30 = move (_43.0: usize), StorageDead(_37), StorageDead(_31)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:10:9: 10:45 (#0), scope: scope[3] }, kind: _28 = Vec::<usize>::push(move _29, move _30) -> [return: bb27, unwind: bb38] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_30), StorageDead(_29), StorageDead(_38), StorageDead(_32), StorageDead(_28), _21 = const (), StorageDead(_27)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:11:5: 11:6 (#0), scope: scope[2] }, kind: goto -> bb28 }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_24), StorageDead(_22), StorageDead(_21), _20 = const ()], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[2] }, kind: goto -> bb13 }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_24), StorageDead(_22), StorageDead(_21), StorageDead(_19)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:11:5: 11:6 (#28), scope: scope[1] }, kind: goto -> bb30 }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_16), StorageDead(_15), _0 = move _3], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:12:5: 12:18 (#0), scope: scope[1] }, kind: goto -> bb35 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:13:1: 13:2 (#0), scope: scope[0] }, kind: drop(_3) -> [return: bb32, unwind: bb39] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:1:47: 13:2 (#0), scope: scope[0] }, kind: unreachable }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:13:2: 13:2 (#0), scope: scope[0] }, kind: goto -> bb37 }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_10), StorageDead(_9)], terminator: Some(Terminator { source_info: SourceInfo { span: no-location (#0), scope: scope[1] }, kind: goto -> bb35 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:13:1: 13:2 (#0), scope: scope[0] }, kind: drop(_3) -> [return: bb36, unwind: bb39] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:13:2: 13:2 (#0), scope: scope[0] }, kind: goto -> bb37 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:13:2: 13:2 (#0), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:13:1: 13:2 (#0), scope: scope[0] }, kind: drop(_3) -> bb39 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\fibonacci.rs:1:1: 13:2 (#0), scope: scope[0] }, kind: resume }), is_cleanup: true }], predecessor_cache: PredecessorCache { cache: OnceCell(Uninit) }, switch_source_cache: SwitchSourceCache { cache: OnceCell(Uninit) }, is_cyclic: GraphIsCyclicCache { cache: OnceCell(Uninit) }, postorder_cache: PostorderCache { cache: OnceCell(Uninit) } }, phase: Built, pass_count: 1, source: MirSource { instance: Item(WithOptConstParam { did: DefId(0:4 ~ next_dlp_tests[1c3b]::fibonacci::fibonacci_list), const_param_did: None }), promoted: None }, source_scopes: [SourceScopeData { span: src\fibonacci.rs:1:1: 13:2 (#0), parent_scope: None, inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:4 ~ next_dlp_tests[1c3b]::fibonacci::fibonacci_list) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\fibonacci.rs:2:5: 13:2 (#0), parent_scope: Some(scope[0]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:4 ~ next_dlp_tests[1c3b]::fibonacci::fibonacci_list) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\fibonacci.rs:9:5: 11:6 (#28), parent_scope: Some(scope[1]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:4 ~ next_dlp_tests[1c3b]::fibonacci::fibonacci_list) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\fibonacci.rs:9:22: 11:6 (#0), parent_scope: Some(scope[2]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:4 ~ next_dlp_tests[1c3b]::fibonacci::fibonacci_list) }, local_id: 0 }, safety: Safe }) }], generator: None, local_decls: [LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::vec::Vec<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:1:37: 1:47 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_info: Some(src\fibonacci.rs:1:29: 1:34 (#0)), opt_match_place: Some((None, src\fibonacci.rs:1:24: 1:27 (#0))), pat_span: src\fibonacci.rs:1:24: 1:27 (#0) })))), internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:1:24: 1:27 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: !, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:1:47: 13:2 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, src\fibonacci.rs:2:34: 2:59 (#0))), pat_span: src\fibonacci.rs:2:9: 2:19 (#0) })))), internal: false, is_block_tail: None, ty: std::vec::Vec<usize>, user_ty: Some(UserTypeProjections { contents: [(UserTypeProjection { base: UserType(0), projs: [] }, src\fibonacci.rs:2:21: 2:31 (#0))] }), source_info: SourceInfo { span: src\fibonacci.rs:2:9: 2:19 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:2:53: 2:58 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:2:53: 2:56 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: true, is_block_tail: None, ty: (usize, bool), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:2:53: 2:58 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:3:5: 3:19 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut std::vec::Vec<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:3:5: 3:19 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:4:5: 8:6 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: bool, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:4:8: 4:16 (#27), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:4:8: 4:11 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: !, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:4:17: 6:6 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:7:9: 7:23 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut std::vec::Vec<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:7:9: 7:23 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::ops::RangeInclusive<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::ops::RangeInclusive<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:18: 9:21 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((Some(_16), src\fibonacci.rs:9:14: 9:21 (#29))), pat_span: src\fibonacci.rs:9:14: 9:21 (#29) })))), internal: false, is_block_tail: None, ty: std::ops::RangeInclusive<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[1] } }, LocalDecl { mutability: Mut, local_info: None, internal: true, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:1:1: 13:2 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::option::Option<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut std::ops::RangeInclusive<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut std::ops::RangeInclusive<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: true, is_block_tail: None, ty: isize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: !, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:5: 11:6 (#28), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_info: None, opt_match_place: Some((Some(_22), src\fibonacci.rs:9:14: 9:21 (#29))), pat_span: src\fibonacci.rs:9:9: 9:10 (#30) })))), internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:9:9: 9:10 (#0), scope: scope[2] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:9: 10:45 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut std::vec::Vec<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:9: 10:45 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:44 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:32 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:32 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &std::vec::Vec<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:27 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:28: 10:31 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:28: 10:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: true, is_block_tail: None, ty: (usize, bool), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:28: 10:31 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:33: 10:44 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:33: 10:44 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &std::vec::Vec<usize>, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:33: 10:39 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:40: 10:43 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: usize, user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:40: 10:41 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: true, is_block_tail: None, ty: (usize, bool), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:40: 10:43 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: true, is_block_tail: None, ty: (usize, bool), user_ty: None, source_info: SourceInfo { span: src\fibonacci.rs:10:21: 10:44 (#0), scope: scope[0] } }], user_type_annotations: [CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::vec::Vec<usize>) }, span: src\fibonacci.rs:2:21: 2:31 (#0), inferred_ty: std::vec::Vec<usize> }, CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }], value: TypeOf(DefId(5:7938 ~ alloc[e204]::vec::{impl#0}::with_capacity), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(5:7935 ~ alloc[e204]::vec::{impl#0}), self_ty: std::vec::Vec<^1, ^2> }) }) }, span: src\fibonacci.rs:2:34: 2:52 (#0), inferred_ty: fn(usize) -> std::vec::Vec<usize> {std::vec::Vec::<usize>::with_capacity} }, CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::vec::Vec<usize>) }, span: src\fibonacci.rs:2:21: 2:31 (#0), inferred_ty: std::vec::Vec<usize> }], arg_count: 1, spread_arg: None, var_debug_info: [VarDebugInfo { name: "max", source_info: SourceInfo { span: src\fibonacci.rs:1:24: 1:27 (#0), scope: scope[0] }, value: _1 }, VarDebugInfo { name: "result", source_info: SourceInfo { span: src\fibonacci.rs:2:9: 2:19 (#0), scope: scope[1] }, value: _3 }, VarDebugInfo { name: "iter", source_info: SourceInfo { span: src\fibonacci.rs:9:14: 9:21 (#29), scope: scope[2] }, value: _19 }, VarDebugInfo { name: "n", source_info: SourceInfo { span: src\fibonacci.rs:9:9: 9:10 (#0), scope: scope[3] }, value: _27 }], span: src\fibonacci.rs:1:1: 13:2 (#0), required_consts: [], is_polymorphic: false, tainted_by_errors: None }) }) }', compiler\rustc_query_system\src\query\plumbing.rs:658:9
stack backtrace:
   0:     0x7ffc53e89a62 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc97dbc4fe64c9e1d
   1:     0x7ffc53ec56db - core::fmt::write::ha369a394538739aa
   2:     0x7ffc53e7c18a - <std::io::IoSlice as core::fmt::Debug>::fmt::h479b71bd3dadc1d1
   3:     0x7ffc53e897ab - std::sys::common::alloc::realloc_fallback::h233ebec439b629e2
   4:     0x7ffc53e8d109 - std::panicking::default_hook::h0ab9e14ad869b271
   5:     0x7ffc53e8cd8a - std::panicking::default_hook::h0ab9e14ad869b271
   6:     0x7ffbe77a1d6e - rustc_driver[e9de03b45d14c171]::describe_lints
   7:     0x7ffc53e8da60 - std::panicking::rust_panic_with_hook::he7a40468954ae645
   8:     0x7ffc53e8d7bd - <std::panicking::begin_panic_handler::StrPanicPayload as core::panic::BoxMeUp>::get::h44bc3105923add49
   9:     0x7ffc53e8a76f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc97dbc4fe64c9e1d
  10:     0x7ffc53e8d480 - rust_begin_unwind
  11:     0x7ffc53efb5f5 - core::panicking::panic_fmt::h1862038ee9bad685
  12:     0x7ffbe9b3faa0 - rustc_query_system[7839065ace8a0431]::query::plumbing::incremental_verify_ich_cold
  13:     0x7ffbe9426554 - <alloc[e204b295117b8aa2]::vec::Vec<u8> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  14:     0x7ffbe5b61b46 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  15:     0x7ffbe715b021 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Encodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  16:     0x7ffbe7086968 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::as_any
  17:     0x7ffbe6b14ed0 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081b174ae21]::mir::MirPass>::run_pass
  18:     0x7ffbe92d9b32 - <rustc_mir_dataflow[d6a7f112d5d60ad2]::framework::EffectIndex as core[a1be09f172195029]::fmt::Debug>::fmt
  19:     0x7ffbe5b61b1b - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  20:     0x7ffbe715b021 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Encodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  21:     0x7ffbe7086ab7 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::as_any
  22:     0x7ffbe6b16619 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081b174ae21]::mir::MirPass>::run_pass
  23:     0x7ffbe92d9c36 - <rustc_mir_dataflow[d6a7f112d5d60ad2]::framework::EffectIndex as core[a1be09f172195029]::fmt::Debug>::fmt
  24:     0x7ffbe5b61fd8 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  25:     0x7ffbe715cf68 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Encodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  26:     0x7ffbe70870a0 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::as_any
  27:     0x7ffbe6dffc74 - <rustc_mir_build[c0d76862c1fc0ac8]::build::expr::as_place::PlaceBuilder as core[a1be09f172195029]::convert::From<rustc_middle[18c13081b174ae21]::mir::Local>>::from
  28:     0x7ffbe6dff668 - <rustc_mir_build[c0d76862c1fc0ac8]::build::expr::as_place::PlaceBuilder as core[a1be09f172195029]::convert::From<rustc_middle[18c13081b174ae21]::mir::Local>>::from
  29:     0x7ffbe92da7a3 - <rustc_mir_dataflow[d6a7f112d5d60ad2]::framework::EffectIndex as core[a1be09f172195029]::fmt::Debug>::fmt
  30:     0x7ffbe5b68bda - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  31:     0x7ffbe71703c9 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Encodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  32:     0x7ffbe7088d25 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::as_any
  33:     0x7ffbe764c3ef - <rustc_middle[18c13081b174ae21]::ty::context::TyCtxt>::mir_borrowck_opt_const_arg
  34:     0x7ffbe6b17fd7 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081b174ae21]::mir::MirPass>::run_pass
  35:     0x7ffbe59c3002 - <rustc_const_eval[3c1611e98d29229f]::transform::check_consts::resolver::State as core[a1be09f172195029]::clone::Clone>::clone_from
  36:     0x7ffbe5a3b545 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  37:     0x7ffbe715b26d - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Encodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  38:     0x7ffbe7086e1b - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::as_any
  39:     0x7ffbe6b1b6c7 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081b174ae21]::mir::MirPass>::run_pass
  40:     0x7ffbe59c5031 - <rustc_const_eval[3c1611e98d29229f]::transform::check_consts::resolver::State as core[a1be09f172195029]::clone::Clone>::clone_from
  41:     0x7ffbe5a4de25 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  42:     0x7ffbe7191bc0 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Encodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  43:     0x7ffbe7087208 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::as_any
  44:     0x7ffbe766ad2d - <rustc_middle[18c13081b174ae21]::ty::context::TyCtxt>::instance_mir
  45:     0x7ffbe6ae9f31 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b174ae21]::mir::visit::Visitor>::visit_operand
  46:     0x7ffbe6ae6fb5 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b174ae21]::mir::visit::Visitor>::visit_operand
  47:     0x7ffbe6ae73a9 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b174ae21]::mir::visit::Visitor>::visit_operand
  48:     0x7ffbe6ae73a9 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b174ae21]::mir::visit::Visitor>::visit_operand
  49:     0x7ffbe6ae73a9 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b174ae21]::mir::visit::Visitor>::visit_operand
  50:     0x7ffbe5790b36 - rustc_monomorphize[c5e62122062f1e21]::provide
  51:     0x7ffbe5795dfd - <rustc_monomorphize[c5e62122062f1e21]::partitioning::default::DefaultPartitioning as rustc_monomorphize[c5e62122062f1e21]::partitioning::Partitioner>::place_inlined_mono_items
  52:     0x7ffbe578ef41 - <rustc_hir_analysis[22eaa20e65e5d190]::constrained_generic_params::ParameterCollector as rustc_middle[18c13081b174ae21]::ty::visit::TypeVisitor>::visit_const
  53:     0x7ffbe59c60c5 - <rustc_const_eval[3c1611e98d29229f]::transform::check_consts::resolver::State as core[a1be09f172195029]::clone::Clone>::clone_from
  54:     0x7ffbe5a6a0f3 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  55:     0x7ffbe5b4acb6 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  56:     0x7ffbe5b89795 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rustc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  57:     0x7ffbe59d87aa - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEngine>::try_mark_green
  58:     0x7ffbe502fdf7 - <rustc_codegen_llvm[17e8957a58a1ad3e]::llvm_::ffi::Type>::i8p_llcx
  59:     0x7ffbe501f4bc - <rustc_codegen_llvm[17e8957a58a1ad3e]::LlvmCodegenBackend as rustc_codegen_ssa[4b7a4ae8d1514f58]::traits::backend::CodegenBackend>::codegen_crate
  60:     0x7ffbe5009264 - rustc_interface[10a7111f9310fd6d]::passes::analysis
  61:     0x7ffbe4ffc639 - <rustc_interface[10a7111f9310fd6d]::passes::LintStoreExpandImpl as rustc_expand[c56eb5aee4619b21]::base::LintStoreExpand>::pre_expansion_lint
  62:     0x7ffbe4feb04c - <rustc_interface[10a7111f9310fd6d]::queries::Queries>::ongoing_codegen
  63:     0x7ffbe4fbc5c3 - <rustc_middle[18c13081b174ae21]::ty::SymbolName as core[a1be09f172195029]::fmt::Display>::fmt
  64:     0x7ffbe4fbb6dd - rustc_driver[e9de03b45d14c171]::args::arg_expand_all
  65:     0x7ffbe4fac809 - <unknown>
  66:     0x7ffbe4fa3990 - <unknown>
  67:     0x7ffc53e9eabc - std::sys::windows::thread::Thread::new::haf1327b4da6a4ac1
  68:     0x7ffc9b697614 - BaseThreadInitThunk
  69:     0x7ffc9cf426a1 - RtlUserThreadStart

error: internal compiler error: unexpected panic

note: 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.66.1 (90743e729 2023-01-10) running on x86_64-pc-windows-msvc

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

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

Activity

clubby789

clubby789 commented on Jan 19, 2023

@clubby789
Contributor

@rustbot label +I-ICE +A-incr-comp

added
A-incr-compArea: Incremental compilation
I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
on Jan 19, 2023
compiler-errors

compiler-errors commented on Jan 19, 2023

@compiler-errors
Member

Can you share any code?

tomaquek

tomaquek commented on Jan 19, 2023

@tomaquek
Author

Sorry I wasn't using version control and have edited the code since

changed the title [-]Unexpected panic, cargo requested bug report[/-] [+]Unstable fingerprints for mir_built[/+] on Jan 19, 2023
added
T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
on Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-incr-compArea: Incremental compilationC-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @compiler-errors@clubby789@tomaquek@workingjubilee@rustbot

        Issue actions

          Unstable fingerprints for mir_built · Issue #107079 · rust-lang/rust