Repository: rust
Issue: ICE: Found unstable fingerprints for mir_built
Labels: I-ICE,T-compiler,C-bug

### Code

A little backstory: this issue ended up fixing itself while I was attempting minimization, so I'm not sure if this bug report is still useful, as I don't know how to replicate the error anymore. I saved a commit when I found the error, but even reverting to it doesn't cause this bug to pop up again. The command used to test was either `cargo test` or `cargo test --bin server my_fn`.

At the same time, this was an ICE, so I believe it may still be worth reporting.

What ended up fixing things was turning `use super::*` to `use super::{only_the_imports_I_need}` so I believe there was something that `super::*` was bringing in that was breaking things. Hereafter, when I say "accidentally fixed the issue" I'm referring to this fixing of imports.

In practice, this is what I was testing (with identifiying information obfuscated):
```
#[tokio::test]
async fn my_fn() {
    let uid = PERSON_UID;
    let org_id = OID(5555555);
    let result = org::my_fn(uid, org_id).await;
    assert!(result.is_ok());
}
```
Where org was a module in my project. While minimizing, I brought all the non-external code into that one function my_fn, and still received the error. I'm not including it all since I also found that only this test also caused the error:
```
fn it_works() {
    assert_eq!(2 + 2, 4);
}
```

I'm including the former still it gives some context but because I believe this was caused by something in `super::*` I would ideally submit literally the entire program ---- but since "literally the entire program" is no longer causing the bug to happen for me, I'm not sure what to do. (Literally the entire program in the sense that if I run `cargo test` now, with the git-reverted version of my program, I don't get the same error again.) 

I was still able to test the three main channels before accidentally fixing this though:

### Meta

`rustc --version --verbose`:
```
rustc 1.66.1 (90743e729 2023-01-10)
binary: rustc
commit-hash: 90743e7298aca107ddaa0c202a4d3604e29bfeb6
commit-date: 2023-01-10
host: x86_64-pc-windows-msvc
release: 1.66.1
LLVM version: 15.0.2
```

Since this section also asked about the nightly and beta versions, I found the following behavior for both of them:
`cargo test` passes both tests I have, but `cargo test -- --my_fn`  returns:

```
error: Unrecognized option: 'my_fn'
error: test failed, to rerun pass `--bin server`
```

So when I then use `cargo test --bin server --my_fn` the test passes fine.

Nightly version:
```
rustc --version --verbose
rustc 1.68.0-nightly (3020239de 2023-01-09)
binary: rustc
commit-hash: 3020239de947ec52677e9b4e853a6a9fc073d1f9
commit-date: 2023-01-09
host: x86_64-pc-windows-msvc
release: 1.68.0-nightly
LLVM version: 15.0.6
```

Beta version:
```
rustc --version --verbose
rustc 1.68.0-beta.2 (10b73bf73 2023-02-01)
binary: rustc
commit-hash: 10b73bf73a6b770cd92ad8ff538173bc3298411c
commit-date: 2023-02-01
host: x86_64-pc-windows-msvc
release: 1.68.0-beta.2
LLVM version: 15.0.6
```

For the record, `cargo test --bin server my_fn` gives what looks like the same error (as `cargo test`) on stable. After I accidentally fixed the issue, all three versions are not showing the error. (This was before I accidentally fixed the error)

### Error output

```
error: internal compiler error: encountered incremental compilation error with mir_built(928f9b8b18a387f3-3f37f3ec84c3dacd)
  |
  = help: This is a known issue with the compiler. Run `cargo clean -p server` 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(928f9b8b18a387f3-3f37f3ec84c3dacd): Steal { value: RwLock(RefCell { value: Some(Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_1), StorageLive(_2), _2 = [generator@src\tests.rs:9:26: 14:2 (#0)]], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] }, kind: _1 = std::future::from_generator::<[static generator@src\tests.rs:9:26: 14:2]>(move _2) -> [return: bb1, 
unwind: bb25] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_2), FakeRead(ForLet(None), _1), StorageLive(_3), _3 = move _1, FakeRead(ForLet(None), _3), StorageLive(_4), StorageLive(_5), _5 = &mut _3], terminator: Some(Terminator { source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:13: 133:65 (#15), scope: scope[5] }, kind: _4 = Pin::<&mut impl Future<Output = ()>>::new_unchecked(move _5) -> [return: bb2, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_5), FakeRead(ForLet(None), _4), StorageLive(_6), StorageLive(_7), _7 = move _4, _6 = move _7 as std::pin::Pin<&mut dyn std::future::Future<Output = ()>> (Pointer(Unsize)), StorageDead(_7), FakeRead(ForLet(None), _6), AscribeUserType(_6, o, UserTypeProjection { base: UserType(2), projs: [] }), StorageLive(_9), StorageLive(_10), StorageLive(_11), StorageLive(_12), StorageLive(_13), StorageLive(_14), StorageLive(_15)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:11 (#0), scope: scope[7] }, kind: _15 = tokio::runtime::Builder::new_current_thread() -> [return: bb3, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [_14 = &mut _15], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _13 = tokio::runtime::Builder::enable_all(move _14) -> [return: bb4, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [_12 = &mut (*_13), StorageDead(_14)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _11 = tokio::runtime::Builder::build(move _12) -> [return: bb5, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_12), StorageLive(_16), StorageLive(_17), _17 = const "Failed building the Runtime", _16 = &(*_17)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _10 = std::result::Result::<Runtime, std::io::Error>::expect(move _11, move _16) -> [return: bb6, unwind: bb21] }), is_cleanup: false }, BasicBlockData { statements: [_9 = &_10, StorageDead(_16), StorageDead(_11), StorageLive(_18), _18 = move _6], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _0 = Runtime::block_on::<Pin<&mut dyn Future<Output = ()>>>(move _9, move _18) -> [return: bb7, unwind: bb20] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_18), StorageDead(_9)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: goto -> bb14 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_10) -> [return: bb9, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_17)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_15) -> [return: bb10, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_15), StorageDead(_13), StorageDead(_10)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: unreachable }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_6), StorageDead(_4)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[1] }, kind: drop(_3) -> [return: bb12, unwind: bb24] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[0] }, kind: drop(_1) -> [return: bb13, unwind: bb26] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_1)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:2: 14:2 (#0), scope: scope[0] }, kind: goto -> bb19 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_10) -> [return: bb15, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_17)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_15) -> [return: bb16, unwind: bb23] }), is_cleanup: false }, BasicBlockData 
{ statements: [StorageDead(_15), StorageDead(_13), StorageDead(_10), StorageDead(_6), StorageDead(_4)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[1] }, kind: drop(_3) -> [return: bb17, unwind: bb24] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[0] }, kind: drop(_1) -> [return: bb18, unwind: bb26] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_1)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:2: 14:2 (#0), scope: scope[0] }, kind: goto -> bb19 }), is_cleanup: 
false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:2: 14:2 (#0), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_10) -> 
bb22 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_11) -> bb22 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_15) -> bb23 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[1] }, kind: drop(_3) -> bb24 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[0] }, kind: drop(_1) -> bb26 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:8:14: 8:15 (#10), scope: scope[0] }, kind: drop(_2) -> bb26 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:9:7: 14: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:123 ~ server[1118]::tests::add_signatory#1), const_param_did: None }), promoted: None }, source_scopes: [SourceScopeData { span: src\tests.rs:9:7: 14:2 (#0), parent_scope: None, inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\tests.rs:9:26: 14: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:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#0), parent_scope: Some(scope[1]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#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:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#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:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 109 }, safety: Safe }) }, SourceScopeData { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:22: 134:10 (#15), parent_scope: Some(scope[4]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 109 }, safety: ExplicitUnsafe(HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 107 }) }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#0), parent_scope: Some(scope[3]), inlined: None, inlined_parent_scope: 
None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, 
SourceScopeData { span: src\tests.rs:13:28: 13:29 (#0), parent_scope: Some(scope[6]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 153 }, safety: Safe }) }], generator: None, local_decls: [LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\tests.rs:9:26: 9:26 (#0), 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((None, src\tests.rs:8:1: 8:15 (#10))), pat_span: src\tests.rs:8:1: 8:15 (#10) })))), internal: false, is_block_tail: None, ty: impl std::future::Future<Output = ()>, user_ty: None, source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: [static generator@src\tests.rs:9:26: 14:2], user_ty: None, source_info: SourceInfo { span: src\tests.rs:9:26: 14: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, C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:128:22: 128:24 (#15))), pat_span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:128:13: 128:19 (#15) })))), internal: false, is_block_tail: None, ty: impl std::future::Future<Output = ()>, user_ty: None, source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:128:13: 128:19 (#15), scope: scope[1] } }, LocalDecl { mutability: Mut, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:22: 134:10 (#15))), pat_span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:13: 132:19 (#15) })))), internal: false, is_block_tail: None, ty: std::pin::Pin<&mut impl std::future::Future<Output = ()>>, user_ty: None, source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:13: 132:19 (#15), scope: scope[4] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: Some(BlockTailInfo { tail_result_is_ignored: false, span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:13: 133:65 (#15) }), ty: &mut impl std::future::Future<Output = ()>, user_ty: None, source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:57: 133:64 (#15), 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((None, src\tests.rs:8:1: 8:15 (#10))), pat_span: src\tests.rs:8:1: 8:15 (#10) })))), internal: false, is_block_tail: None, ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>>, user_ty: Some(UserTypeProjections { contents: [(UserTypeProjection { base: UserType(1), projs: [] }, src\tests.rs:8:1: 8:15 (#10))] }), source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[3] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::pin::Pin<&mut impl std::future::Future<Output = ()>>, user_ty: None, source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: Some(BlockTailInfo { tail_result_is_ignored: true, span: src\tests.rs:13:28: 13:29 (#0) }), ty: !, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[0] } 
}, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &tokio::runtime::Runtime, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: tokio::runtime::Runtime, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::result::Result<tokio::runtime::Runtime, std::io::Error>, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut tokio::runtime::Builder, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut tokio::runtime::Builder, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut tokio::runtime::Builder, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: tokio::runtime::Builder, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:11 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &str, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, internal: false, is_block_tail: None, ty: &str, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>>, user_ty: None, source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] } }], user_type_annotations: [CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }], value: TypeOf(DefId(2:9706 ~ core[a1be]::pin::{impl#6}::new_unchecked), UserSubsts { substs: [^0], user_self_ty: Some(UserSelfTy { impl_def_id: DefId(2:9704 ~ core[a1be]::pin::{impl#6}), self_ty: std::pin::Pin<^1> }) }) }, span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:13: 133:56 (#15), inferred_ty: unsafe fn(&mut impl std::future::Future<Output = ()>) -> std::pin::Pin<&mut impl std::future::Future<Output = ()>> {std::pin::Pin::<&mut impl std::future::Future<Output = ()>>::new_unchecked} }, CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(std::pin::Pin<&mut dyn std::future::Future<Output = ()>>) }, span: src\tests.rs:8:1: 8:15 (#10), inferred_ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>> }, CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(std::pin::Pin<&mut dyn std::future::Future<Output = ()>>) }, span: src\tests.rs:8:1: 8:15 (#10), inferred_ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>> }], arg_count: 0, spread_arg: None, var_debug_info: [VarDebugInfo { name: "body", source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[1] }, value: _1 }, VarDebugInfo { name: "body", source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:128:13: 128:19 (#15), scope: scope[2] }, value: _3 }, VarDebugInfo { name: "body", source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:13: 132:19 (#15), scope: scope[3] }, value: _4 }, VarDebugInfo { name: "body", source_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[6] }, value: _6 }], span: src\tests.rs:9:7: 14:2 (#0), required_consts: [], is_polymorphic: false, tainted_by_errors: None }) }) }', compiler\rustc_query_system\src\query\plumbing.rs:658:9
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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

query stack during panic:
#0 [mir_built] building MIR for `tests::add_signatory`
#1 [mir_const] preparing `tests::add_signatory` for borrow checking
#2 [mir_promoted] processing MIR for `tests::add_signatory`
#3 [mir_borrowck] borrow-checking `tests::add_signatory`
#4 [mir_drops_elaborated_and_const_checked] elaborating drops for `tests::add_signatory`
#5 [optimized_mir] optimizing MIR for `tests::add_signatory`
#6 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
```


<details><summary><strong>Backtrace Full</strong></summary>
<p>

```
thread 'rustc' panicked at 'Found unstable fingerprints for mir_built(928f9b8b18a387f3-3f37f3ec84c3dacd): Steal { value: RwL
ock(RefCell { value: Some(Body { basic_blocks: BasicBlocks { basic_blocks: [BasicBlockData { statements: [StorageLive(_1), S
torageLive(_2), _2 = [generator@src\tests.rs:9:26: 14:2 (#0)]], terminator: Some(Terminator { source_info: SourceInfo { span
: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] }, kind: _1 = std::future::from_generator::<[static generator@src\tests.rs:9
:26: 14:2]>(move _2) -> [return: bb1, unwind: bb25] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_2),
FakeRead(ForLet(None), _1), StorageLive(_3), _3 = move _1, FakeRead(ForLet(None), _3), StorageLive(_4), StorageLive(_5), _5
= &mut _3], terminator: Some(Terminator { source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc
6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:13: 133:65 (#15), scope: scope[5] }, kind: _4 = Pin::<&mut impl Future<Outpu
t = ()>>::new_unchecked(move _5) -> [return: bb2, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [Stora
geDead(_5), FakeRead(ForLet(None), _4), StorageLive(_6), StorageLive(_7), _7 = move _4, _6 = move _7 as std::pin::Pin<&mut d
yn std::future::Future<Output = ()>> (Pointer(Unsize)), StorageDead(_7), FakeRead(ForLet(None), _6), AscribeUserType(_6, o,
UserTypeProjection { base: UserType(2), projs: [] }), StorageLive(_9), StorageLive(_10), StorageLive(_11), StorageLive(_12),
 StorageLive(_13), StorageLive(_14), StorageLive(_15)], terminator: Some(Terminator { source_info: SourceInfo { span: src\te
sts.rs:13:5: 13:11 (#0), scope: scope[7] }, kind: _15 = tokio::runtime::Builder::new_current_thread() -> [return: bb3, unwin
d: bb23] }), is_cleanup: false }, BasicBlockData { statements: [_14 = &mut _15], terminator: Some(Terminator { source_info:
SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _13 = tokio::runtime::Builder::enable_all(move _1
4) -> [return: bb4, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [_12 = &mut (*_13), StorageDead(_14)
], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _11
 = tokio::runtime::Builder::build(move _12) -> [return: bb5, unwind: bb22] }), is_cleanup: false }, BasicBlockData { stateme
nts: [StorageDead(_12), StorageLive(_16), StorageLive(_17), _17 = const "Failed building the Runtime", _16 = &(*_17)], termi
nator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _10 = std::
result::Result::<Runtime, std::io::Error>::expect(move _11, move _16) -> [return: bb6, unwind: bb21] }), is_cleanup: false }
, BasicBlockData { statements: [_9 = &_10, StorageDead(_16), StorageDead(_11), StorageLive(_18), _18 = move _6], terminator:
 Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[7] }, kind: _0 = Runtime::blo
ck_on::<Pin<&mut dyn Future<Output = ()>>>(move _9, move _18) -> [return: bb7, unwind: bb20] }), is_cleanup: false }, BasicB
lockData { statements: [StorageDead(_18), StorageDead(_9)], terminator: Some(Terminator { source_info: SourceInfo { span: sr
c\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: goto -> bb14 }), is_cleanup: false }, BasicBlockData { statements: []
, terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: dro
p(_10) -> [return: bb9, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_17)], terminator:
Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_15) -> [ret
urn: bb10, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_15), StorageDead(_13), StorageD
ead(_10)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] },
kind: unreachable }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_6), StorageDead(_4)], terminator: Some
(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[1] }, kind: drop(_3) -> [return: bb
12, unwind: bb24] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_3)], terminator: Some(Terminator { sou
rce_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[0] }, kind: drop(_1) -> [return: bb13, unwind: bb26]
 }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_1)], terminator: Some(Terminator { source_info: SourceI
nfo { span: src\tests.rs:14:2: 14:2 (#0), scope: scope[0] }, kind: goto -> bb19 }), is_cleanup: false }, BasicBlockData { st
atements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7]
}, kind: drop(_10) -> [return: bb15, unwind: bb22] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_17)],
 terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop
(_15) -> [return: bb16, unwind: bb23] }), is_cleanup: false }, BasicBlockData { statements: [StorageDead(_15), StorageDead(_
13), StorageDead(_10), StorageDead(_6), StorageDead(_4)], terminator: Some(Terminator { source_info: SourceInfo { span: src\
tests.rs:14:1: 14:2 (#0), scope: scope[1] }, kind: drop(_3) -> [return: bb17, unwind: bb24] }), is_cleanup: false }, BasicBl
ockData { statements: [StorageDead(_3)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14
:2 (#0), scope: scope[0] }, kind: drop(_1) -> [return: bb18, unwind: bb26] }), is_cleanup: false }, BasicBlockData { stateme
nts: [StorageDead(_1)], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:14:2: 14:2 (#0), scope: s
cope[0] }, kind: goto -> bb19 }), is_cleanup: false }, BasicBlockData { statements: [], terminator: Some(Terminator { source
_info: SourceInfo { span: src\tests.rs:14:2: 14:2 (#0), scope: scope[0] }, kind: return }), is_cleanup: false }, BasicBlockD
ata { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: s
cope[7] }, kind: drop(_10) -> bb22 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { so
urce_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[7] }, kind: drop(_11) -> bb22 }), is_cleanup: tru
e }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:13:28: 13:2
9 (#0), scope: scope[7] }, kind: drop(_15) -> bb23 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some
(Terminator { source_info: SourceInfo { span: src\tests.rs:14:1: 14:2 (#0), scope: scope[1] }, kind: drop(_3) -> bb24 }), is
_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span: src\tests.r
s:14:1: 14:2 (#0), scope: scope[0] }, kind: drop(_1) -> bb26 }), is_cleanup: true }, BasicBlockData { statements: [], termin
ator: Some(Terminator { source_info: SourceInfo { span: src\tests.rs:8:14: 8:15 (#10), scope: scope[0] }, kind: drop(_2) ->
bb26 }), is_cleanup: true }, BasicBlockData { statements: [], terminator: Some(Terminator { source_info: SourceInfo { span:
src\tests.rs:9:7: 14: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, so
urce: MirSource { instance: Item(WithOptConstParam { did: DefId(0:123 ~ server[1118]::tests::add_signatory#1), const_param_d
id: None }), promoted: None }, source_scopes: [SourceScopeData { span: src\tests.rs:9:7: 14:2 (#0), parent_scope: None, inli
ned: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: De
fId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\tests.rs:
9:26: 14:2 (#0), parent_scope: Some(scope[0]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalDa
ta { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safet
y: Safe }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#0), parent_scope: Some(scope[1]), inlined: None, inlined_par
ent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[111
8]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#0), paren
t_scope: Some(scope[2]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId
{ owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceSc
opeData { span: src\tests.rs:9:26: 14:2 (#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:123 ~ server[1118]::tests::add_signato
ry#1) }, local_id: 109 }, safety: Safe }) }, SourceScopeData { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299d
b9ec823\tokio-1.25.0\src\macros\pin.rs:132:22: 134:10 (#15), parent_scope: Some(scope[4]), inlined: None, inlined_parent_sco
pe: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tes
ts::add_signatory#1) }, local_id: 109 }, safety: ExplicitUnsafe(HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]:
:tests::add_signatory#1) }, local_id: 107 }) }) }, SourceScopeData { span: src\tests.rs:9:26: 14:2 (#0), parent_scope: Some(
scope[3]), inlined: None, inlined_parent_scope: None, local_data: Set(SourceScopeLocalData { lint_root: HirId { owner: Owner
Id { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, local_id: 0 }, safety: Safe }) }, SourceScopeData { span
: src\tests.rs:13:28: 13:29 (#0), parent_scope: Some(scope[6]), inlined: None, inlined_parent_scope: None, local_data: Set(S
ourceScopeLocalData { lint_root: HirId { owner: OwnerId { def_id: DefId(0:123 ~ server[1118]::tests::add_signatory#1) }, loc
al_id: 153 }, safety: Safe }) }], generator: None, local_decls: [LocalDecl { mutability: Mut, local_info: None, internal: fa
lse, is_block_tail: None, ty: (), user_ty: None, source_info: SourceInfo { span: src\tests.rs:9:26: 9:26 (#0), scope: scope[
0] } }, LocalDecl { mutability: Not, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Not), opt_ty_i
nfo: None, opt_match_place: Some((None, src\tests.rs:8:1: 8:15 (#10))), pat_span: src\tests.rs:8:1: 8:15 (#10) })))), intern
al: false, is_block_tail: None, ty: impl std::future::Future<Output = ()>, user_ty: None, source_info: SourceInfo { span: sr
c\tests.rs:8:1: 8:15 (#10), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_ta
il: None, ty: [static generator@src\tests.rs:9:26: 14:2], user_ty: None, source_info: SourceInfo { span: src\tests.rs:9:26:
14:2 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: Some(User(Set(Var(VarBindingForm { binding_mode: Bi
ndByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec8
23\tokio-1.25.0\src\macros\pin.rs:128:22: 128:24 (#15))), pat_span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db
9ec823\tokio-1.25.0\src\macros\pin.rs:128:13: 128:19 (#15) })))), internal: false, is_block_tail: None, ty: impl std::future
::Future<Output = ()>, user_ty: None, source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299
db9ec823\tokio-1.25.0\src\macros\pin.rs:128:13: 128:19 (#15), scope: scope[1] } }, LocalDecl { mutability: Mut, local_info:
Some(User(Set(Var(VarBindingForm { binding_mode: BindByValue(Mut), opt_ty_info: None, opt_match_place: Some((None, C:\Users\
ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:22: 134:10 (#15))), pat_span: C:\Us
ers\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:13: 132:19 (#15) })))), interna
l: false, is_block_tail: None, ty: std::pin::Pin<&mut impl std::future::Future<Output = ()>>, user_ty: None, source_info: So
urceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:132:13: 132:1
9 (#15), scope: scope[4] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: Some(BlockTailI
nfo { tail_result_is_ignored: false, span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\m
acros\pin.rs:133:13: 133:65 (#15) }), ty: &mut impl std::future::Future<Output = ()>, user_ty: None, source_info: SourceInfo
 { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:57: 133:64 (#15),
 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((None, src\tests.rs:8:1: 8:15 (#10))), pat_span: src\tests.rs:8:1: 8:15 (#10)
 })))), internal: false, is_block_tail: None, ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>>, user_ty: Some(Us
erTypeProjections { contents: [(UserTypeProjection { base: UserType(1), projs: [] }, src\tests.rs:8:1: 8:15 (#10))] }), sour
ce_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[3] } }, LocalDecl { mutability: Mut, local_info: None
, internal: false, is_block_tail: None, ty: std::pin::Pin<&mut impl std::future::Future<Output = ()>>, user_ty: None, source
_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None,
internal: false, is_block_tail: Some(BlockTailInfo { tail_result_is_ignored: true, span: src\tests.rs:13:28: 13:29 (#0) }),
ty: !, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutab
ility: Mut, local_info: None, internal: false, is_block_tail: None, ty: &tokio::runtime::Runtime, user_ty: None, source_info
: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Not, local_info: None, inte
rnal: false, is_block_tail: None, ty: tokio::runtime::Runtime, user_ty: None, source_info: SourceInfo { span: src\tests.rs:1
3:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, t
y: std::result::Result<tokio::runtime::Runtime, std::io::Error>, user_ty: None, source_info: SourceInfo { span: src\tests.rs
:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None,
 ty: &mut tokio::runtime::Builder, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scop
e[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut tokio::runtime::Buil
der, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutabili
ty: Mut, local_info: None, internal: false, is_block_tail: None, ty: &mut tokio::runtime::Builder, user_ty: None, source_inf
o: SourceInfo { span: src\tests.rs:13:5: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, int
ernal: false, is_block_tail: None, ty: tokio::runtime::Builder, user_ty: None, source_info: SourceInfo { span: src\tests.rs:
13:5: 13:11 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_block_tail: None,
ty: &str, user_ty: None, source_info: SourceInfo { span: src\tests.rs:13:28: 13:29 (#0), scope: scope[0] } }, LocalDecl { mu
tability: Not, local_info: None, internal: false, is_block_tail: None, ty: &str, user_ty: None, source_info: SourceInfo { sp
an: src\tests.rs:13:28: 13:29 (#0), scope: scope[0] } }, LocalDecl { mutability: Mut, local_info: None, internal: false, is_
block_tail: None, ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>>, user_ty: None, source_info: SourceInfo { spa
n: src\tests.rs:8:1: 8:15 (#10), scope: scope[0] } }], user_type_annotations: [CanonicalUserTypeAnnotation { user_ty: Canoni
cal { max_universe: U0, variables: [CanonicalVarInfo { kind: Ty(General(U0)) }, CanonicalVarInfo { kind: Ty(General(U0)) }],
 value: TypeOf(DefId(2:9706 ~ core[a1be]::pin::{impl#6}::new_unchecked), UserSubsts { substs: [^0], user_self_ty: Some(UserS
elfTy { impl_def_id: DefId(2:9704 ~ core[a1be]::pin::{impl#6}), self_ty: std::pin::Pin<^1> }) }) }, span: C:\Users\ronit\.ca
rgo\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:133:13: 133:56 (#15), inferred_ty: unsafe fn(&mu
t impl std::future::Future<Output = ()>) -> std::pin::Pin<&mut impl std::future::Future<Output = ()>> {std::pin::Pin::<&mut
impl std::future::Future<Output = ()>>::new_unchecked} }, CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U
0, variables: [CanonicalVarInfo { kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(std::pin::Pin<&mut d
yn std::future::Future<Output = ()>>) }, span: src\tests.rs:8:1: 8:15 (#10), inferred_ty: std::pin::Pin<&mut dyn std::future
::Future<Output = ()>> }, CanonicalUserTypeAnnotation { user_ty: Canonical { max_universe: U0, variables: [CanonicalVarInfo
{ kind: Region(U0) }, CanonicalVarInfo { kind: Region(U0) }], value: Ty(std::pin::Pin<&mut dyn std::future::Future<Output =
()>>) }, span: src\tests.rs:8:1: 8:15 (#10), inferred_ty: std::pin::Pin<&mut dyn std::future::Future<Output = ()>> }], arg_c
ount: 0, spread_arg: None, var_debug_info: [VarDebugInfo { name: "body", source_info: SourceInfo { span: src\tests.rs:8:1: 8
:15 (#10), scope: scope[1] }, value: _1 }, VarDebugInfo { name: "body", source_info: SourceInfo { span: C:\Users\ronit\.carg
o\registry\src\github.com-1ecc6299db9ec823\tokio-1.25.0\src\macros\pin.rs:128:13: 128:19 (#15), scope: scope[2] }, value: _3
 }, VarDebugInfo { name: "body", source_info: SourceInfo { span: C:\Users\ronit\.cargo\registry\src\github.com-1ecc6299db9ec
823\tokio-1.25.0\src\macros\pin.rs:132:13: 132:19 (#15), scope: scope[3] }, value: _4 }, VarDebugInfo { name: "body", source
_info: SourceInfo { span: src\tests.rs:8:1: 8:15 (#10), scope: scope[6] }, value: _6 }], span: src\tests.rs:9:7: 14:2 (#0),
required_consts: [], is_polymorphic: false, tainted_by_errors: None }) }) }', compiler\rustc_query_system\src\query\plumbing
.rs:658:9
stack backtrace:
   0:     0x7ffcf6ee9a62 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc97dbc4fe64c9
e1d
   1:     0x7ffcf6f256db - core::fmt::write::ha369a394538739aa
   2:     0x7ffcf6edc18a - <std::io::IoSlice as core::fmt::Debug>::fmt::h479b71bd3dadc1d1
   3:     0x7ffcf6ee97ab - std::sys::common::alloc::realloc_fallback::h233ebec439b629e2
   4:     0x7ffcf6eed109 - std::panicking::default_hook::h0ab9e14ad869b271
   5:     0x7ffcf6eecd8a - std::panicking::default_hook::h0ab9e14ad869b271
   6:     0x7ffc91901d6e - rustc_driver[e9de03b45d14c171]::describe_lints
   7:     0x7ffcf6eeda60 - std::panicking::rust_panic_with_hook::he7a40468954ae645
   8:     0x7ffcf6eed7bd - <std::panicking::begin_panic_handler::StrPanicPayload as core::panic::BoxMeUp>::get::h44bc3105923
add49
   9:     0x7ffcf6eea76f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc97dbc4fe64c9
e1d
  10:     0x7ffcf6eed480 - rust_begin_unwind
  11:     0x7ffcf6f5b5f5 - core::panicking::panic_fmt::h1862038ee9bad685
  12:     0x7ffc93c9faa0 - rustc_query_system[7839065ace8a0431]::query::plumbing::incremental_verify_ich_cold
  13:     0x7ffc93586554 - <alloc[e204b295117b8aa2]::vec::Vec<u8> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable
<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheDecoder>>::decode
  14:     0x7ffc8fcc1b46 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  15:     0x7ffc912bb021 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Enc
odable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  16:     0x7ffc911e6968 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::as_any
  17:     0x7ffc90c74ed0 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081
b174ae21]::mir::MirPass>::run_pass
  18:     0x7ffc93439b32 - <rustc_mir_dataflow[d6a7f112d5d60ad2]::framework::EffectIndex as core[a1be09f172195029]::fmt::Deb
ug>::fmt
  19:     0x7ffc8fcc1b1b - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  20:     0x7ffc912bb021 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Enc
odable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  21:     0x7ffc911e6ab7 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::as_any
  22:     0x7ffc90c76619 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081
b174ae21]::mir::MirPass>::run_pass
  23:     0x7ffc93439c36 - <rustc_mir_dataflow[d6a7f112d5d60ad2]::framework::EffectIndex as core[a1be09f172195029]::fmt::Deb
ug>::fmt
  24:     0x7ffc8fcc1fd8 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  25:     0x7ffc912bcf68 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Enc
odable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  26:     0x7ffc911e70a0 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::as_any
  27:     0x7ffc90f5fc74 - <rustc_mir_build[c0d76862c1fc0ac8]::build::expr::as_place::PlaceBuilder as core[a1be09f172195029]
::convert::From<rustc_middle[18c13081b174ae21]::mir::Local>>::from
  28:     0x7ffc90f5f668 - <rustc_mir_build[c0d76862c1fc0ac8]::build::expr::as_place::PlaceBuilder as core[a1be09f172195029]
::convert::From<rustc_middle[18c13081b174ae21]::mir::Local>>::from
  29:     0x7ffc9343a7a3 - <rustc_mir_dataflow[d6a7f112d5d60ad2]::framework::EffectIndex as core[a1be09f172195029]::fmt::Deb
ug>::fmt
  30:     0x7ffc8fcc8bda - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  31:     0x7ffc912d03c9 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Enc
odable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  32:     0x7ffc911e8d25 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::as_any
  33:     0x7ffc917ac3ef - <rustc_middle[18c13081b174ae21]::ty::context::TyCtxt>::mir_borrowck_opt_const_arg
  34:     0x7ffc90c77fd7 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081
b174ae21]::mir::MirPass>::run_pass
  35:     0x7ffc8fb23002 - <rustc_const_eval[3c1611e98d29229f]::transform::check_consts::resolver::State as core[a1be09f1721
95029]::clone::Clone>::clone_from
  36:     0x7ffc8fb9b545 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  37:     0x7ffc912bb26d - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Enc
odable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  38:     0x7ffc911e6e1b - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::as_any
  39:     0x7ffc90c7b6c7 - <rustc_mir_transform[6e221779ab8adbe]::lower_intrinsics::LowerIntrinsics as rustc_middle[18c13081
b174ae21]::mir::MirPass>::run_pass
  40:     0x7ffc8fb25031 - <rustc_const_eval[3c1611e98d29229f]::transform::check_consts::resolver::State as core[a1be09f1721
95029]::clone::Clone>::clone_from
  41:     0x7ffc8fbade25 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  42:     0x7ffc912f1bc0 - <rustc_span[c61407085697e619]::def_id::DefId as rustc_serialize[5fa760e9e07a81b9]::serialize::Enc
odable<rustc_query_impl[d4313462cac9d76]::on_disk_cache::CacheEncoder>>::encode
  43:     0x7ffc911e7208 - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::as_any
  44:     0x7ffc917cad2d - <rustc_middle[18c13081b174ae21]::ty::context::TyCtxt>::instance_mir
  45:     0x7ffc90c49f31 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b1
74ae21]::mir::visit::Visitor>::visit_operand
  46:     0x7ffc90c46fb5 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b1
74ae21]::mir::visit::Visitor>::visit_operand
  47:     0x7ffc90c473a9 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b1
74ae21]::mir::visit::Visitor>::visit_operand
  48:     0x7ffc90c473a9 - <rustc_monomorphize[c5e62122062f1e21]::collector::MirNeighborCollector as rustc_middle[18c13081b1
74ae21]::mir::visit::Visitor>::visit_operand
  49:     0x7ffc8f8f0b36 - rustc_monomorphize[c5e62122062f1e21]::provide
  50:     0x7ffc8f8f5dfd - <rustc_monomorphize[c5e62122062f1e21]::partitioning::default::DefaultPartitioning as rustc_monomo
rphize[c5e62122062f1e21]::partitioning::Partitioner>::place_inlined_mono_items
  51:     0x7ffc8f8eef41 - <rustc_hir_analysis[22eaa20e65e5d190]::constrained_generic_params::ParameterCollector as rustc_mi
ddle[18c13081b174ae21]::ty::visit::TypeVisitor>::visit_const
  52:     0x7ffc8fb260c5 - <rustc_const_eval[3c1611e98d29229f]::transform::check_consts::resolver::State as core[a1be09f1721
95029]::clone::Clone>::clone_from
  53:     0x7ffc8fbca0f3 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  54:     0x7ffc8fcaacb6 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  55:     0x7ffc8fce9795 - <&rustc_index[b766228394234ab1]::vec::IndexVec<rustc_middle[18c13081b174ae21]::mir::Promoted, rus
tc_middle[18c13081b174ae21]::mir::Body> as rustc_serialize[5fa760e9e07a81b9]::serialize::Decodable<rustc_query_impl[d4313462
cac9d76]::on_disk_cache::CacheDecoder>>::decode
  56:     0x7ffc8fb387aa - <rustc_query_impl[d4313462cac9d76]::Queries as rustc_middle[18c13081b174ae21]::ty::query::QueryEn
gine>::try_mark_green
  57:     0x7ffc8f18fdf7 - <rustc_codegen_llvm[17e8957a58a1ad3e]::llvm_::ffi::Type>::i8p_llcx
  58:     0x7ffc8f17f4bc - <rustc_codegen_llvm[17e8957a58a1ad3e]::LlvmCodegenBackend as rustc_codegen_ssa[4b7a4ae8d1514f58]:
:traits::backend::CodegenBackend>::codegen_crate
  59:     0x7ffc8f169264 - rustc_interface[10a7111f9310fd6d]::passes::analysis
  60:     0x7ffc8f15c639 - <rustc_interface[10a7111f9310fd6d]::passes::LintStoreExpandImpl as rustc_expand[c56eb5aee4619b21]
::base::LintStoreExpand>::pre_expansion_lint
  61:     0x7ffc8f14b04c - <rustc_interface[10a7111f9310fd6d]::queries::Queries>::ongoing_codegen
  62:     0x7ffc8f11c5c3 - <rustc_middle[18c13081b174ae21]::ty::SymbolName as core[a1be09f172195029]::fmt::Display>::fmt
  63:     0x7ffc8f11b6dd - rustc_driver[e9de03b45d14c171]::args::arg_expand_all
  64:     0x7ffc8f10c809 - <unknown>
  65:     0x7ffc8f103990 - <unknown>
  66:     0x7ffcf6efeabc - std::sys::windows::thread::Thread::new::haf1327b4da6a4ac1
  67:     0x7ffd35c37614 - BaseThreadInitThunk
  68:     0x7ffd37a226a1 - 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&tem
plate=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

query stack during panic:
#0 [mir_built] building MIR for `tests::add_signatory`
#1 [mir_const] preparing `tests::add_signatory` for borrow checking
#2 [mir_promoted] processing MIR for `tests::add_signatory`
#3 [mir_borrowck] borrow-checking `tests::add_signatory`
#4 [mir_drops_elaborated_and_const_checked] elaborating drops for `tests::add_signatory`
#5 [optimized_mir] optimizing MIR for `tests::add_signatory`
#6 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
warning: `server` (bin "server" test) generated 22 warnings
error: could not compile `server` due to previous error; 22 warnings emitted

```

</p>
</details>

This was the first time I'm submitting a bug report for anything, so any feedback is appreciated. Thank you! 
And I apologize once more that I'm unable to find a code snippet which replicates the error. Unreplicable errors are the worst.