Closed
Description
Code
#![feature(closure_lifetime_binder)]
fn main() {
for<'a> || -> () {
for<'c> |_: &'a ()| -> () {
}
};
}
Error output
thread 'rustc' panicked at 'Normalizing Binder(([&'a ()]; c_variadic: false)->(), [Region(BrNamed(DefId(0:7 ~ amina[00f1]::main::{closure#0}::{closure#0}::'c), 'c))]) without wrapping in a `Binder`', /rustc/0da281b6068a7d889ae89a9bd8991284cc9b7535/compiler/rustc_trait_selection/src/traits/project.rs:450:9
Full output including backtrace
thread 'rustc' panicked at 'Normalizing Binder(([&'a ()]; c_variadic: false)->(), [Region(BrNamed(DefId(0:7 ~ amina[00f1]::main::{closure#0}::{closure#0}::'c), 'c))]) without wrapping in a `Binder`', /rustc/0da281b6068a7d889ae89a9bd8991284cc9b7535/compiler/rustc_trait_selection/src/traits/project.rs:450:9
stack backtrace:
0: 0x108f348a2 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h98e7719cdb057d8f
1: 0x108f8c74a - core::fmt::write::he324e6f3a7ef7ed0
2: 0x108f2697c - std::io::Write::write_fmt::h295c914c323e508a
3: 0x108f3466a - std::sys_common::backtrace::print::hb2f2bd76d0a1d9b2
4: 0x108f37a76 - std::panicking::default_hook::{{closure}}::h7f2a23a911934152
5: 0x108f377c7 - std::panicking::default_hook::h576cf5867894044c
6: 0x11755262d - rustc_driver[ba5c792b9438c2b]::DEFAULT_HOOK::{closure#0}::{closure#0}
7: 0x108f38271 - std::panicking::rust_panic_with_hook::hf0781b554a936fbf
8: 0x108f38003 - std::panicking::begin_panic_handler::{{closure}}::h8d2525e276d552d8
9: 0x108f34d38 - std::sys_common::backtrace::__rust_end_short_backtrace::hf3badbbd5492e2d6
10: 0x108f37ccd - _rust_begin_unwind
11: 0x108fb91b3 - core::panicking::panic_fmt::h15d4409e62dc090a
12: 0x119e69dab - <rustc_trait_selection[9c2b695c7caa8425]::traits::project::AssocTypeNormalizer>::fold::<rustc_middle[298407787cc28eff]::ty::sty::Binder<rustc_middle[298407787cc28eff]::ty::sty::FnSig>>
13: 0x119e80346 - rustc_trait_selection[9c2b695c7caa8425]::traits::project::normalize::<rustc_middle[298407787cc28eff]::ty::sty::Binder<rustc_middle[298407787cc28eff]::ty::sty::FnSig>>
14: 0x119ee32b6 - <rustc_infer[b40902abbc4e8850]::infer::InferCtxt as rustc_trait_selection[9c2b695c7caa8425]::infer::InferCtxtExt>::partially_normalize_associated_types_in::<rustc_middle[298407787cc28eff]::ty::sty::Binder<rustc_middle[298407787cc28eff]::ty::sty::FnSig>>
15: 0x119e8e808 - <rustc_hir_typeck[82128e1af9fabaca]::inherited::Inherited>::normalize_associated_types_in::<rustc_middle[298407787cc28eff]::ty::sty::Binder<rustc_middle[298407787cc28eff]::ty::sty::FnSig>>
16: 0x119daed4b - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::supplied_sig_of_closure
17: 0x119dac8cb - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_closure
18: 0x119dafe14 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_kind
19: 0x119d59556 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
20: 0x119d6f655 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_block_with_expected
21: 0x119db07a8 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_kind
22: 0x119d59556 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
23: 0x119d5a59a - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_return_expr
24: 0x119ecbd6e - rustc_hir_typeck[82128e1af9fabaca]::check::check_fn
25: 0x119dacdda - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_closure
26: 0x119dafe14 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_kind
27: 0x119d59556 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
28: 0x119d6eeb5 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_stmt
29: 0x119d6f5ff - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_block_with_expected
30: 0x119db07a8 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_kind
31: 0x119d59556 - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
32: 0x119d5a59a - <rustc_hir_typeck[82128e1af9fabaca]::fn_ctxt::FnCtxt>::check_return_expr
33: 0x119ecbd6e - rustc_hir_typeck[82128e1af9fabaca]::check::check_fn
34: 0x119e9265c - rustc_hir_typeck[82128e1af9fabaca]::typeck
35: 0x11ad3bfb9 - rustc_query_system[fd3d689380a50de4]::query::plumbing::try_execute_query::<rustc_query_impl[f77634870212a75e]::plumbing::QueryCtxt, rustc_query_system[fd3d689380a50de4]::query::caches::DefaultCache<rustc_span[73e074df7cba0abf]::def_id::LocalDefId, &rustc_middle[298407787cc28eff]::ty::context::TypeckResults>>
36: 0x11ae3d04c - rustc_query_system[fd3d689380a50de4]::query::plumbing::get_query::<rustc_query_impl[f77634870212a75e]::queries::typeck, rustc_query_impl[f77634870212a75e]::plumbing::QueryCtxt>
37: 0x119ebbb6b - rustc_data_structures[445d045225b5bae3]::sync::par_for_each_in::<&[rustc_span[73e074df7cba0abf]::def_id::LocalDefId], <rustc_middle[298407787cc28eff]::hir::map::Map>::par_body_owners<rustc_hir_typeck[82128e1af9fabaca]::typeck_item_bodies::{closure#0}>::{closure#0}>
38: 0x119e8fb8d - rustc_hir_typeck[82128e1af9fabaca]::typeck_item_bodies
39: 0x11add14a9 - rustc_query_system[fd3d689380a50de4]::query::plumbing::try_execute_query::<rustc_query_impl[f77634870212a75e]::plumbing::QueryCtxt, rustc_query_system[fd3d689380a50de4]::query::caches::DefaultCache<(), ()>>
40: 0x11ae31a39 - rustc_query_system[fd3d689380a50de4]::query::plumbing::get_query::<rustc_query_impl[f77634870212a75e]::queries::typeck_item_bodies, rustc_query_impl[f77634870212a75e]::plumbing::QueryCtxt>
41: 0x119fb4ed4 - <rustc_session[43d2d941ace548e5]::session::Session>::time::<(), rustc_hir_analysis[3f5a3f8b91adb05]::check_crate::{closure#7}>
42: 0x119f6546f - rustc_hir_analysis[3f5a3f8b91adb05]::check_crate
43: 0x11762afda - rustc_interface[a666f6d755ed9279]::passes::analysis
44: 0x11adc326c - rustc_query_system[fd3d689380a50de4]::query::plumbing::try_execute_query::<rustc_query_impl[f77634870212a75e]::plumbing::QueryCtxt, rustc_query_system[fd3d689380a50de4]::query::caches::DefaultCache<(), core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>>
45: 0x11ae3d3f9 - rustc_query_system[fd3d689380a50de4]::query::plumbing::get_query::<rustc_query_impl[f77634870212a75e]::queries::analysis, rustc_query_impl[f77634870212a75e]::plumbing::QueryCtxt>
46: 0x1174e1296 - <rustc_interface[a666f6d755ed9279]::passes::QueryContext>::enter::<rustc_driver[ba5c792b9438c2b]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>
47: 0x117525a4d - rustc_span[73e074df7cba0abf]::with_source_map::<core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>, rustc_interface[a666f6d755ed9279]::interface::run_compiler<core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>, rustc_driver[ba5c792b9438c2b]::run_compiler::{closure#1}>::{closure#0}::{closure#1}>
48: 0x11751534c - <scoped_tls[c17fceff1b2b43d8]::ScopedKey<rustc_span[73e074df7cba0abf]::SessionGlobals>>::set::<rustc_interface[a666f6d755ed9279]::interface::run_compiler<core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>, rustc_driver[ba5c792b9438c2b]::run_compiler::{closure#1}>::{closure#0}, core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>
49: 0x1174e4e5a - std[8878bd7dd366d71b]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[a666f6d755ed9279]::util::run_in_thread_pool_with_globals<rustc_interface[a666f6d755ed9279]::interface::run_compiler<core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>, rustc_driver[ba5c792b9438c2b]::run_compiler::{closure#1}>::{closure#0}, core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>
50: 0x1174caf7b - <<std[8878bd7dd366d71b]::thread::Builder>::spawn_unchecked_<rustc_interface[a666f6d755ed9279]::util::run_in_thread_pool_with_globals<rustc_interface[a666f6d755ed9279]::interface::run_compiler<core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>, rustc_driver[ba5c792b9438c2b]::run_compiler::{closure#1}>::{closure#0}, core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[13371b8ce97f01bb]::result::Result<(), rustc_errors[b0e16a209d58ca7d]::ErrorGuaranteed>>::{closure#1} as core[13371b8ce97f01bb]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
51: 0x108f41387 - std::sys::unix::thread::Thread::new::thread_start::hfd54df40dd14130e
52: 0x7ff814d514e1 - __pthread_start
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.0-nightly (0da281b60 2022-10-27) running on x86_64-apple-darwin
query stack during panic:
#0 [typeck] type-checking `main`
#1 [typeck_item_bodies] type-checking all item bodies
#2 [analysis] running analysis passes on this crate
end of query stack
Version
rustc 1.66.0-nightly (0da281b60 2022-10-27)
binary: rustc
commit-hash: 0da281b6068a7d889ae89a9bd8991284cc9b7535
commit-date: 2022-10-27
host: x86_64-apple-darwin
release: 1.66.0-nightly
LLVM version: 15.0.2
Bisect results
This goes all the way back to f1a8854, when #98705 enabled this syntax for closures (tracking issue: #97362).