Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Unstable fingerprints for mir_built #107079

Open
tomaquek opened this issue Jan 19, 2023 · 3 comments
Open

Unstable fingerprints for mir_built #107079

tomaquek opened this issue Jan 19, 2023 · 3 comments
Labels
A-incr-comp Area: Incremental compilation I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@tomaquek
Copy link

tomaquek commented Jan 19, 2023

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
@clubby789
Copy link
Contributor

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

@rustbot rustbot added A-incr-comp Area: Incremental compilation I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ labels Jan 19, 2023
@compiler-errors
Copy link
Member

Can you share any code?

@tomaquek
Copy link
Author

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

@Nilstrieb Nilstrieb changed the title Unexpected panic, cargo requested bug report Unstable fingerprints for mir_built Jan 19, 2023
@Nilstrieb Nilstrieb added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-incr-comp Area: Incremental compilation I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

5 participants