thread 'rustc' panicked at compiler\rustc_hir_typeck\src\method\suggest.rs:1185:35:
internal error: entered unreachable code: encountered `Item(Item { ident: Dematerialize#0, owner_id: DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize), kind: Struct(Struct { fields: [FieldDef { span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:736:17: 736:45 (#1460), vis_span: src\stream_ext\dematerialize.rs:16:9: 16:9 (#0), ident: stream#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).17), def_id: DefId(0:4189 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::stream), ty: Ty { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).13), kind: Path(Resolved(None, Path { span: src\stream_ext\dematerialize.rs:16:17: 16:24 (#0), res: Def(Struct, DefId(16:10439 ~ futures_util[065d]::stream::stream::fuse::Fuse)), segments: [PathSegment { ident: Fuse#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).16), res: Def(Struct, DefId(16:10439 ~ futures_util[065d]::stream::stream::fuse::Fuse)), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).14), kind: Path(Resolved(None, Path { span: src\stream_ext\dematerialize.rs:16:22: 16:23 (#0), res: Def(TyParam, DefId(0:4187 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::S)), segments: [PathSegment { ident: S#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).15), res: Def(TyParam, DefId(0:4187 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::S)), args: None, infer_args: false }] })), span: src\stream_ext\dematerialize.rs:16:22: 16:23 (#0) })], constraints: [], parenthesized: No, span_ext: src\stream_ext\dematerialize.rs:16:21: 16:24 (#0) }), infer_args: false }] })), span: src\stream_ext\dematerialize.rs:16:17: 16:24 (#0) }, safety: Safe, default: None }], recovered: No }, Generics { params: [GenericParam { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).11), def_id: DefId(0:4187 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::S), name: Plain(S#0), span: src\stream_ext\dematerialize.rs:14:30: 14:31 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: Some(C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:1637:23: 1637:24 (#1458)), source: Generics }, GenericParam { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).12), def_id: DefId(0:4188 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::T), name: Plain(T#0), span: src\stream_ext\dematerialize.rs:14:65: 14:66 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: false }, colon_span: None, source: Generics }], predicates: [WherePredicate { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).8), span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:1637:23: 1637:40 (#1458), kind: BoundPredicate(WhereBoundPredicate { origin: GenericParam, bound_generic_params: [], bounded_ty: Ty { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).10), kind: Path(Resolved(None, Path { span: src\stream_ext\dematerialize.rs:14:30: 14:31 (#0), res: Def(TyParam, DefId(0:4187 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::S)), segments: [PathSegment { ident: S#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).9), res: Def(TyParam, DefId(0:4187 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::S)), args: None, infer_args: true }] })), span: src\stream_ext\dematerialize.rs:14:30: 14:31 (#0) }, bounds: [Trait(PolyTraitRef { bound_generic_params: [], modifiers: TraitBoundModifiers { constness: Never, polarity: Positive }, trait_ref: TraitRef { path: Path { span: src\stream_ext\dematerialize.rs:14:33: 14:63 (#0), res: Def(Trait, DefId(15:70 ~ futures_core[c52f]::stream::Stream)), segments: [PathSegment { ident: Stream#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).6), res: Def(Trait, DefId(15:70 ~ futures_core[c52f]::stream::Stream)), args: Some(GenericArgs { args: [], constraints: [AssocItemConstraint { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).5), ident: Item#0, gen_args: GenericArgs { args: [], constraints: [], parenthesized: No, span_ext: no-location (#0) }, kind: Equality { term: Ty(Ty { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).1), kind: Path(Resolved(None, Path { span: src\stream_ext\dematerialize.rs:14:47: 14:62 (#0), res: Def(Enum, DefId(0:838 ~ futures_rx[6877]::stream::notification::Notification)), segments: [PathSegment { ident: Notification#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).4), res: Def(Enum, DefId(0:838 ~ futures_rx[6877]::stream::notification::Notification)), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).2), kind: Path(Resolved(None, Path { span: src\stream_ext\dematerialize.rs:14:60: 14:61 (#0), res: Def(TyParam, DefId(0:4188 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::T)), segments: [PathSegment { ident: T#0, hir_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).3), res: Def(TyParam, DefId(0:4188 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize::T)), args: None, infer_args: false }] })), span: src\stream_ext\dematerialize.rs:14:60: 14:61 (#0) })], constraints: [], parenthesized: No, span_ext: src\stream_ext\dematerialize.rs:14:59: 14:62 (#0) }), infer_args: false }] })), span: src\stream_ext\dematerialize.rs:14:47: 14:62 (#0) }) }, span: src\stream_ext\dematerialize.rs:14:40: 14:62 (#0) }], parenthesized: No, span_ext: src\stream_ext\dematerialize.rs:14:39: 14:63 (#0) }), infer_args: false }] }, hir_ref_id: HirId(DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize).7) }, span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:1637:25: 1637:40 (#1458) })] }) }], has_where_clause_predicates: false, where_clause_span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:1642:14: 1642:14 (#1458), span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:1634:16: 1642:14 (#1458) }), span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:731:9: 738:10 (#1460), vis_span: C:\Users\frank\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\pin-project-lite-0.2.15\src\lib.rs:1571:14: 1571:17 (#1457) })` due to `Some(
ObligationCause {
span: src\stream_ext\materialize.rs:75:18: 75:29 (#0),
body_id: DefId(0:4357 ~ futures_rx[6877]::stream_ext::materialize::test::smoke#1::{closure#0}),
code: WhereClause(
DefId(0:4186 ~ futures_rx[6877]::stream_ext::dematerialize::Dematerialize),
src\stream_ext\dematerialize.rs:14:40: 14:62 (#0),
),
},
)`
stack backtrace:
0: 0x7ffdedb1ec53 - std::backtrace_rs::backtrace::dbghelp64::trace
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91
1: 0x7ffdedb1ec53 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ffdedb1ec53 - std::backtrace::Backtrace::create
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\backtrace.rs:331
3: 0x7ffdedb1eb9a - std::backtrace::Backtrace::force_capture
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\backtrace.rs:312
4: 0x7ffdef127e21 - core[e3d4ce614677e590]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[8717302e28ba87e0]::Level, &str), usize), <((rustc_lint_defs[8717302e28ba87e0]::Level, &str), usize) as core[e3d4ce614677e590]::cmp::PartialOrd>::lt>
5: 0x7ffdedb3a26e - alloc::boxed::impl$30::call
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\alloc\src\boxed.rs:2004
6: 0x7ffdedb3a26e - std::panicking::rust_panic_with_hook
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\panicking.rs:820
7: 0x7ffdedb39fc9 - std::panicking::begin_panic_handler::closure$0
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\panicking.rs:685
8: 0x7ffdedb377bf - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\sys\backtrace.rs:168
9: 0x7ffdedb39bce - std::panicking::begin_panic_handler
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\panicking.rs:676
10: 0x7ffdf09d69e1 - core::panicking::panic_fmt
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\core\src\panicking.rs:75
11: 0x7ffdef51e541 - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::suggest_use_shadowed_binding_with_method::LetVisitor as rustc_hir[b15845cc7e6f8e42]::intravisit::Visitor>::visit_pat
12: 0x7ffdef55e7ad - <rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::arg_matrix::ProvidedIdx as core[e3d4ce614677e590]::fmt::Debug>::fmt
13: 0x7ffdedce762f - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
14: 0x7ffdedcdb15e - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
15: 0x7ffdedcdb15e - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
16: 0x7ffdedcbfe5c - <alloc[2310b49f400c5cab]::raw_vec::RawVec<rustc_hir_typeck[724de0d66b53f9c9]::method::probe::Candidate>>::grow_one
17: 0x7ffdedcda9bf - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
18: 0x7ffdedda105b - rustc_hir_typeck[724de0d66b53f9c9]::typeck
19: 0x7ffdedcdc287 - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
20: 0x7ffdedd431bc - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
21: 0x7ffdedd44f49 - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
22: 0x7ffdedcdb00e - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
23: 0x7ffdedda80f1 - rustc_hir_typeck[724de0d66b53f9c9]::typeck
24: 0x7ffdeddacf7e - rustc_hir_typeck[724de0d66b53f9c9]::typeck
25: 0x7ffdedcdecf1 - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
26: 0x7ffdedcbfe5c - <alloc[2310b49f400c5cab]::raw_vec::RawVec<rustc_hir_typeck[724de0d66b53f9c9]::method::probe::Candidate>>::grow_one
27: 0x7ffdedcda9bf - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
28: 0x7ffdedd44e3d - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
29: 0x7ffdedcdb00e - <<rustc_hir_typeck[724de0d66b53f9c9]::fn_ctxt::FnCtxt>::deduce_closure_signature_from_predicates::MentionsTy as rustc_type_ir[f1e418cbea909e5c]::visit::TypeVisitor<rustc_middle[ddc377459a86077c]::ty::context::TyCtxt>>::visit_ty
30: 0x7ffdedda80f1 - rustc_hir_typeck[724de0d66b53f9c9]::typeck
31: 0x7ffdedd97c30 - rustc_hir_typeck[724de0d66b53f9c9]::typeck
32: 0x7ffdee8c84bb - rustc_query_impl[c67c3a7dc3e8980e]::plumbing::query_key_hash_verify_all
33: 0x7ffdee807dab - RINvNtNtCsfaRzyDUz1zm_18rustc_query_system5query8plumbing17try_execute_queryINtCsh2x0CWCCD00_16rustc_query_impl13DynamicConfigINtNtCsgx4h1v9SYm5_21rustc_data_structures9vec_cache8VecCacheNtNtCs5EUvovCoIzy_10rustc_span6def_id10LocalDefIdINtNtNtCsj2rptR6ONw6
34: 0x7ffdee8d0bc4 - rustc_query_impl[c67c3a7dc3e8980e]::plumbing::query_key_hash_verify_all
35: 0x7ffdede0ccf9 - <hashbrown[ddb3125f6151f908]::raw::RawTable<(&usize, ())>>::reserve_rehash::<hashbrown[ddb3125f6151f908]::map::make_hasher<&usize, (), rustc_hash[765ae26a2f2c0253]::FxBuildHasher>::{closure#0}>
36: 0x7ffdede90ae0 - rustc_hir_analysis[3998be51a21d41e2]::check_crate
37: 0x7ffdedbb1c11 - rustc_interface[eb889c57d7dbdbc8]::passes::resolver_for_lowering_raw
38: 0x7ffdeab77cee - rustc_interface[eb889c57d7dbdbc8]::passes::analysis
39: 0x7ffded7254aa - <alloc[2310b49f400c5cab]::raw_vec::RawVec<(rustc_query_system[b0c158918eb16e1e]::dep_graph::serialized::SerializedDepNodeIndex, rustc_middle[ddc377459a86077c]::query::on_disk_cache::AbsoluteBytePos)>>::grow_one
40: 0x7ffded629eb6 - RINvNtNtCsfaRzyDUz1zm_18rustc_query_system5query8plumbing17try_execute_queryINtCsh2x0CWCCD00_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCsj2rptR6ONw6_12rustc_middle5query5erase6ErasedAhj0_EEKb0_KB3s_KB3s_ENtNtB1f_8plumbing9QueryCtx
41: 0x7ffded72b054 - rustc_query_impl[c67c3a7dc3e8980e]::query_system
42: 0x7ffdeab3e3a9 - RINvNtNtCsf87WqXpBTBr_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMNtB6_6threadNtB1h_7Builder16spawn_unchecked_INtNtCs30Eov69pNcR_5alloc5boxed3BoxDINtNtNtCsjyJUA5fGVb0_4core3ops8function6FnOnceuEp6OutputuNtNtB2G_6marker4SendEL_EuEs_000uECsauf
43: 0x7ffdeab36d7e - RINvNtNtCsf87WqXpBTBr_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMNtB6_6threadNtB1h_7Builder16spawn_unchecked_INtNtCs30Eov69pNcR_5alloc5boxed3BoxDINtNtNtCsjyJUA5fGVb0_4core3ops8function6FnOnceuEp6OutputuNtNtB2G_6marker4SendEL_EuEs_000uECsauf
44: 0x7ffdeab2f779 - RINvNtNtCsf87WqXpBTBr_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCskdJSCqdYXjg_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCsaufZpJTjWxo_17rustc_driver_i
45: 0x7ffdeab42e85 - RINvNtNtCsf87WqXpBTBr_3std3sys9backtrace28___rust_begin_short_backtraceNCNCNCINvMNtB6_6threadNtB1h_7Builder16spawn_unchecked_INtNtCs30Eov69pNcR_5alloc5boxed3BoxDINtNtNtCsjyJUA5fGVb0_4core3ops8function6FnOnceuEp6OutputuNtNtB2G_6marker4SendEL_EuEs_000uECsauf
46: 0x7ffdedb4c23d - alloc::boxed::impl$28::call_once
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\alloc\src\boxed.rs:1990
47: 0x7ffdedb4c23d - alloc::boxed::impl$28::call_once
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\alloc\src\boxed.rs:1990
48: 0x7ffdedb4c23d - std::sys::pal::windows::thread::impl$0::new::thread_start
at /rustc/8742e0556dee3c64f7144de2fb2e88936418865a/library\std\src\sys\pal\windows\thread.rs:56
49: 0x7ffe66d4259d - BaseThreadInitThunk
50: 0x7ffe682aaf38 - RtlUserThreadStart
rustc version: 1.85.0-nightly (8742e0556 2024-12-28)
platform: x86_64-pc-windows-msvc
query stack during panic:
#0 [typeck] type-checking `stream_ext::materialize::test::smoke`
#1 [analysis] running analysis passes on this crate
end of query stack