Closed
Description
Code
code from ./src/test/ui/packed/packed-struct-drop-aligned.rs
// run-pass
#![feature(generators)]
#![feature(generator_trait)]
use std::cell::Cell;
use std::mem;
use std::ops::Generator;
use std::pin::Pin;
struct Aligned<'a> {
drop_count: &'a Cell<usize>
}
#[inline(never)]
fn check_align(ptr: *const Aligned) {
assert_eq!(ptr as usize % mem::align_of::<Aligned>(),
0);
}
impl<'a> Drop for Aligned<'a> {
fn drop(&mut self) {
check_align(self);
self.drop_count.set(self.drop_count.get() + 1);
}
}
#[repr(transparent)]
struct NotCopy(u8);
#[repr(packed)]
struct Packed<'a>(NotCopy, Aligned<'a>);
fn main() {
let drop_count = &Cell::new(0);
{
let mut p = Packed(NotCopy(0), Aligned { drop_count });
p.1 = Aligned { drop_count };
assert_eq!(drop_count.get(), 1);
}
assert_eq!(drop_count.get(), 2);
let drop_count = &Cell::new(0);
let mut g = || {
let mut p = Packed(NotCopy(0), Aligned { drop_count });
let _ = &p;
p.1 = Aligned { drop_count };
assert_eq!(drop_count.get(), 1);
// Test that a generator drop function moves a value from a packed
// struct to a separate local before dropping it. We move out the
// first field to generate and open drop for the second field.
drop(p.0);
yield;
};
Pin::new(&mut g).resume(());
assert_eq!(drop_count.get(), 1);
drop(g);
assert_eq!(drop_count.get(), 2);
}
Meta
rustc --version --verbose
:
rustc 1.59.0-nightly (34926f0a1 2021-12-22)
binary: rustc
commit-hash: 34926f0a1681458588a2d4240c0715ef9eff7d35
commit-date: 2021-12-22
host: x86_64-unknown-linux-gnu
release: 1.59.0-nightly
LLVM version: 13.0.0
Error output
run twice:
rustc -Cincremental=/tmp/rustc_testrunner_tmpdir.2I9T7oVVCP7x -Zincremental-verify-ich=yes --crate-type lib ./src/test/ui/packed/packed-struct-drop-aligned.rs
rustc -Cincremental=/tmp/rustc_testrunner_tmpdir.2I9T7oVVCP7x -Zincremental-verify-ich=yes --crate-type lib ./src/test/ui/packed/packed-struct-drop-aligned.rs
error: internal compiler error: compiler/rustc_middle/src/ty/impls_ty.rs:97:17: StableHasher: unexpected region '_#44r
thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1169:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
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.59.0-nightly (34926f0a1 2021-12-22) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z incremental-verify-ich=yes -C incremental --crate-type lib
query stack during panic:
#0 [typeck] type-checking `main`
#1 [typeck] type-checking `main::{closure#0}`
end of query stack
error: aborting due to previous error
Backtrace
error: internal compiler error: compiler/rustc_middle/src/ty/impls_ty.rs:97:17: StableHasher: unexpected region '_#44r
thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1169:9
stack backtrace:
0: 0x7f3a1be029bc - std::backtrace_rs::backtrace::libunwind::trace::h8be286d067839d4f
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f3a1be029bc - std::backtrace_rs::backtrace::trace_unsynchronized::h44b722b66416ac08
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f3a1be029bc - std::sys_common::backtrace::_print_fmt::h2b78b2a0da201765
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/sys_common/backtrace.rs:67:5
3: 0x7f3a1be029bc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h890804b6cfffe9fc
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/sys_common/backtrace.rs:46:22
4: 0x7f3a1be5f8ec - core::fmt::write::h0200d27bf417ad61
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/core/src/fmt/mod.rs:1149:17
5: 0x7f3a1bdf2b35 - std::io::Write::write_fmt::h917ab11fd974bb56
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/io/mod.rs:1660:15
6: 0x7f3a1be05df0 - std::sys_common::backtrace::_print::hc83d16fbacc2fa85
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/sys_common/backtrace.rs:49:5
7: 0x7f3a1be05df0 - std::sys_common::backtrace::print::hf2dccf30793e7b28
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/sys_common/backtrace.rs:36:9
8: 0x7f3a1be05df0 - std::panicking::default_hook::{{closure}}::h8710dbf03f1859af
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/panicking.rs:211:50
9: 0x7f3a1be059a9 - std::panicking::default_hook::h86966dcda268d57f
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/panicking.rs:228:9
10: 0x7f3a1c5a54e1 - rustc_driver[ef03483e6e54faee]::DEFAULT_HOOK::{closure#0}::{closure#0}
11: 0x7f3a1be0658b - std::panicking::rust_panic_with_hook::h7a6b21c56a75680a
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/panicking.rs:610:17
12: 0x7f3a1d6ea8ab - std[f5daaffdee63055a]::panicking::begin_panic::<rustc_errors[74f2b17879f6aa12]::ExplicitBug>::{closure#0}
13: 0x7f3a1d6ea776 - std[f5daaffdee63055a]::sys_common::backtrace::__rust_end_short_backtrace::<std[f5daaffdee63055a]::panicking::begin_panic<rustc_errors[74f2b17879f6aa12]::ExplicitBug>::{closure#0}, !>
14: 0x7f3a1d6ea71f - std[f5daaffdee63055a]::panicking::begin_panic::<rustc_errors[74f2b17879f6aa12]::ExplicitBug>
15: 0x7f3a1d6f53dd - std[f5daaffdee63055a]::panic::panic_any::<rustc_errors[74f2b17879f6aa12]::ExplicitBug>
16: 0x7f3a1d6f6acd - <rustc_errors[74f2b17879f6aa12]::HandlerInner>::bug
17: 0x7f3a1d6f6570 - <rustc_errors[74f2b17879f6aa12]::Handler>::bug
18: 0x7f3a1d580cd6 - rustc_middle[1bd93374e04e4dac]::ty::context::tls::with_opt::<rustc_middle[1bd93374e04e4dac]::util::bug::opt_span_bug_fmt<rustc_span[3725a9c78ff03fb]::span_encoding::Span>::{closure#0}, ()>
19: 0x7f3a1d5810a0 - rustc_middle[1bd93374e04e4dac]::util::bug::opt_span_bug_fmt::<rustc_span[3725a9c78ff03fb]::span_encoding::Span>
20: 0x7f3a1d581016 - rustc_middle[1bd93374e04e4dac]::util::bug::bug_fmt
21: 0x7f3a1e348b16 - <rustc_middle[1bd93374e04e4dac]::ty::sty::RegionKind as rustc_data_structures[daf1824f3ba7b281]::stable_hasher::HashStable<rustc_query_system[509f33b95dc75556]::ich::hcx::StableHashingContext>>::hash_stable
22: 0x7f3a1e2dfbaf - <rustc_middle[1bd93374e04e4dac]::ty::sty::TyKind as rustc_data_structures[daf1824f3ba7b281]::stable_hasher::HashStable<rustc_query_system[509f33b95dc75556]::ich::hcx::StableHashingContext>>::hash_stable
23: 0x7f3a1df20bad - <rustc_query_system[509f33b95dc75556]::dep_graph::dep_node::DepNode<rustc_middle[1bd93374e04e4dac]::dep_graph::dep_node::DepKind>>::construct::<rustc_middle[1bd93374e04e4dac]::ty::context::TyCtxt, rustc_middle[1bd93374e04e4dac]::ty::ParamEnvAnd<&rustc_middle[1bd93374e04e4dac]::ty::TyS>>
24: 0x7f3a1deb58e0 - rustc_query_system[509f33b95dc75556]::query::plumbing::get_query::<rustc_query_impl[a18d8b310cfcfe4a]::queries::layout_of, rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt>
25: 0x7f3a1defa39a - <rustc_query_impl[a18d8b310cfcfe4a]::Queries as rustc_middle[1bd93374e04e4dac]::ty::query::QueryEngine>::layout_of
26: 0x7f3a1da833aa - <rustc_typeck[7bd2429f03693b00]::check::upvar::InferBorrowKind as rustc_typeck[7bd2429f03693b00]::expr_use_visitor::Delegate>::borrow
27: 0x7f3a1da7eaa0 - <rustc_typeck[7bd2429f03693b00]::expr_use_visitor::ExprUseVisitor>::walk_expr
28: 0x7f3a1da7d166 - <rustc_typeck[7bd2429f03693b00]::expr_use_visitor::ExprUseVisitor>::consume_expr
29: 0x7f3a1e709b12 - <rustc_typeck[7bd2429f03693b00]::expr_use_visitor::ExprUseVisitor>::walk_block
30: 0x7f3a1da7d6b3 - <rustc_typeck[7bd2429f03693b00]::expr_use_visitor::ExprUseVisitor>::walk_expr
31: 0x7f3a1da7d166 - <rustc_typeck[7bd2429f03693b00]::expr_use_visitor::ExprUseVisitor>::consume_expr
32: 0x7f3a1e70b78d - <rustc_typeck[7bd2429f03693b00]::expr_use_visitor::ExprUseVisitor>::consume_body
33: 0x7f3a1e68c667 - <rustc_typeck[7bd2429f03693b00]::check::fn_ctxt::FnCtxt>::analyze_closure
34: 0x7f3a1da7b872 - <rustc_typeck[7bd2429f03693b00]::check::upvar::InferBorrowKindVisitor as rustc_hir[ea8d95411a764e8f]::intravisit::Visitor>::visit_expr
35: 0x7f3a1e6d4545 - rustc_hir[ea8d95411a764e8f]::intravisit::walk_stmt::<rustc_typeck[7bd2429f03693b00]::check::upvar::InferBorrowKindVisitor>
36: 0x7f3a1e6d08f2 - rustc_hir[ea8d95411a764e8f]::intravisit::walk_block::<rustc_typeck[7bd2429f03693b00]::check::upvar::InferBorrowKindVisitor>
37: 0x7f3a1da22431 - rustc_hir[ea8d95411a764e8f]::intravisit::walk_body::<rustc_typeck[7bd2429f03693b00]::check::upvar::InferBorrowKindVisitor>
38: 0x7f3a1da2b9b7 - <rustc_infer[4df5280439fddac3]::infer::InferCtxtBuilder>::enter::<&rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults, <rustc_typeck[7bd2429f03693b00]::check::inherited::InheritedBuilder>::enter<rustc_typeck[7bd2429f03693b00]::check::typeck_with_fallback<rustc_typeck[7bd2429f03693b00]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>::{closure#0}>
39: 0x7f3a1da0e3ef - rustc_typeck[7bd2429f03693b00]::check::typeck
40: 0x7f3a1e9e2c23 - <rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepGraph<rustc_middle[1bd93374e04e4dac]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1bd93374e04e4dac]::ty::context::TyCtxt, rustc_span[3725a9c78ff03fb]::def_id::LocalDefId, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>
41: 0x7f3a1e96ef5d - rustc_data_structures[daf1824f3ba7b281]::stack::ensure_sufficient_stack::<(&rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults, rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepNodeIndex), rustc_query_system[509f33b95dc75556]::query::plumbing::execute_job<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, rustc_span[3725a9c78ff03fb]::def_id::LocalDefId, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>::{closure#3}>
42: 0x7f3a1de770db - rustc_query_system[509f33b95dc75556]::query::plumbing::try_execute_query::<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, rustc_query_system[509f33b95dc75556]::query::caches::DefaultCache<rustc_span[3725a9c78ff03fb]::def_id::LocalDefId, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>>
43: 0x7f3a1def470c - <rustc_query_impl[a18d8b310cfcfe4a]::Queries as rustc_middle[1bd93374e04e4dac]::ty::query::QueryEngine>::typeck
44: 0x7f3a1da0e57d - rustc_typeck[7bd2429f03693b00]::check::typeck
45: 0x7f3a1e9e2c23 - <rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepGraph<rustc_middle[1bd93374e04e4dac]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1bd93374e04e4dac]::ty::context::TyCtxt, rustc_span[3725a9c78ff03fb]::def_id::LocalDefId, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>
46: 0x7f3a1e96ef5d - rustc_data_structures[daf1824f3ba7b281]::stack::ensure_sufficient_stack::<(&rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults, rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepNodeIndex), rustc_query_system[509f33b95dc75556]::query::plumbing::execute_job<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, rustc_span[3725a9c78ff03fb]::def_id::LocalDefId, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>::{closure#3}>
47: 0x7f3a1de770db - rustc_query_system[509f33b95dc75556]::query::plumbing::try_execute_query::<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, rustc_query_system[509f33b95dc75556]::query::caches::DefaultCache<rustc_span[3725a9c78ff03fb]::def_id::LocalDefId, &rustc_middle[1bd93374e04e4dac]::ty::context::TypeckResults>>
48: 0x7f3a1def470c - <rustc_query_impl[a18d8b310cfcfe4a]::Queries as rustc_middle[1bd93374e04e4dac]::ty::query::QueryEngine>::typeck
49: 0x7f3a1da73a50 - <rustc_middle[1bd93374e04e4dac]::hir::map::Map>::par_body_owners::<rustc_typeck[7bd2429f03693b00]::check::typeck_item_bodies::{closure#0}>
50: 0x7f3a1e6bf16c - rustc_typeck[7bd2429f03693b00]::check::typeck_item_bodies
51: 0x7f3a1ea03f44 - <rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepGraph<rustc_middle[1bd93374e04e4dac]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1bd93374e04e4dac]::ty::context::TyCtxt, (), ()>
52: 0x7f3a1e971683 - rustc_data_structures[daf1824f3ba7b281]::stack::ensure_sufficient_stack::<((), rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepNodeIndex), rustc_query_system[509f33b95dc75556]::query::plumbing::execute_job<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, (), ()>::{closure#3}>
53: 0x7f3a1e8ffb9d - rustc_query_system[509f33b95dc75556]::query::plumbing::try_execute_query::<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, rustc_query_system[509f33b95dc75556]::query::caches::DefaultCache<(), ()>>
54: 0x7f3a1e93cda8 - rustc_query_system[509f33b95dc75556]::query::plumbing::get_query::<rustc_query_impl[a18d8b310cfcfe4a]::queries::typeck_item_bodies, rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt>
55: 0x7f3a1e6bf83a - <rustc_session[58f7c109c5269542]::session::Session>::time::<(), rustc_typeck[7bd2429f03693b00]::check_crate::{closure#7}>
56: 0x7f3a1e6b2e03 - rustc_typeck[7bd2429f03693b00]::check_crate
57: 0x7f3a1e44db17 - rustc_interface[96c2bfae17369d98]::passes::analysis
58: 0x7f3a1e9ffac0 - <rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepGraph<rustc_middle[1bd93374e04e4dac]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1bd93374e04e4dac]::ty::context::TyCtxt, (), core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>
59: 0x7f3a1e96a353 - rustc_data_structures[daf1824f3ba7b281]::stack::ensure_sufficient_stack::<(core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>, rustc_query_system[509f33b95dc75556]::dep_graph::graph::DepNodeIndex), rustc_query_system[509f33b95dc75556]::query::plumbing::execute_job<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, (), core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>::{closure#3}>
60: 0x7f3a1e8f67d6 - rustc_query_system[509f33b95dc75556]::query::plumbing::try_execute_query::<rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt, rustc_query_system[509f33b95dc75556]::query::caches::DefaultCache<(), core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>>
61: 0x7f3a1e94b925 - rustc_query_system[509f33b95dc75556]::query::plumbing::get_query::<rustc_query_impl[a18d8b310cfcfe4a]::queries::analysis, rustc_query_impl[a18d8b310cfcfe4a]::plumbing::QueryCtxt>
62: 0x7f3a1e4439b9 - <rustc_interface[96c2bfae17369d98]::passes::QueryContext>::enter::<rustc_driver[ef03483e6e54faee]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>
63: 0x7f3a1e424d4a - <rustc_interface[96c2bfae17369d98]::interface::Compiler>::enter::<rustc_driver[ef03483e6e54faee]::run_compiler::{closure#1}::{closure#2}, core[96b11061995d1188]::result::Result<core[96b11061995d1188]::option::Option<rustc_interface[96c2bfae17369d98]::queries::Linker>, rustc_errors[74f2b17879f6aa12]::ErrorReported>>
64: 0x7f3a1e42160d - rustc_span[3725a9c78ff03fb]::with_source_map::<core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>, rustc_interface[96c2bfae17369d98]::interface::create_compiler_and_run<core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>, rustc_driver[ef03483e6e54faee]::run_compiler::{closure#1}>::{closure#1}>
65: 0x7f3a1e425d4f - <scoped_tls[d5c7b108b4a4c8d1]::ScopedKey<rustc_span[3725a9c78ff03fb]::SessionGlobals>>::set::<rustc_interface[96c2bfae17369d98]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[96c2bfae17369d98]::interface::run_compiler<core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>, rustc_driver[ef03483e6e54faee]::run_compiler::{closure#1}>::{closure#0}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>::{closure#0}::{closure#0}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>
66: 0x7f3a1e423dd5 - std[f5daaffdee63055a]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[96c2bfae17369d98]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[96c2bfae17369d98]::interface::run_compiler<core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>, rustc_driver[ef03483e6e54faee]::run_compiler::{closure#1}>::{closure#0}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>::{closure#0}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>
67: 0x7f3a1e41ffe2 - <<std[f5daaffdee63055a]::thread::Builder>::spawn_unchecked<rustc_interface[96c2bfae17369d98]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[96c2bfae17369d98]::interface::run_compiler<core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>, rustc_driver[ef03483e6e54faee]::run_compiler::{closure#1}>::{closure#0}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>::{closure#0}, core[96b11061995d1188]::result::Result<(), rustc_errors[74f2b17879f6aa12]::ErrorReported>>::{closure#1} as core[96b11061995d1188]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
68: 0x7f3a1be11423 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7b6e32ec16c64424
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/alloc/src/boxed.rs:1811:9
69: 0x7f3a1be11423 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hcf89e1818b8ae4ac
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/alloc/src/boxed.rs:1811:9
70: 0x7f3a1be11423 - std::sys::unix::thread::Thread::new::thread_start::h349fd411a2397bec
at /rustc/34926f0a1681458588a2d4240c0715ef9eff7d35/library/std/src/sys/unix/thread.rs:108:17
71: 0x7f3a1bd16259 - start_thread
72: 0x7f3a1bc325e3 - __GI___clone
73: 0x0 - <unknown>
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.59.0-nightly (34926f0a1 2021-12-22) running on x86_64-unknown-linux-gnu
note: compiler flags: -Z incremental-verify-ich=yes -C incremental --crate-type lib
query stack during panic:
#0 [typeck] type-checking `main`
#1 [typeck] type-checking `main::{closure#0}`
#2 [typeck_item_bodies] type-checking all item bodies
#3 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to previous error