-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-const-genericsArea: const generics (parameters and arguments)Area: const generics (parameters and arguments)C-bugCategory: This is a bug.Category: This is a bug.F-generic_const_exprs`#![feature(generic_const_exprs)]``#![feature(generic_const_exprs)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.ICE tracked in rust-lang/glacier.
Description
Code
./tests/ui/const-generics/late-bound-vars/simple.rs
#![feature(generic_const_exprs)]
#![allow(incomplete_features)]
const fn inner<'a>() -> usize where &'a (): Sized {
3
}
fn test<'a>() {
let _: [u8; inner::<'a>()];
let _ = [0; inner::<'a>()];
}
fn main() {
test();
}
Meta
rustc --version --verbose
:
rustc 1.71.0-nightly (2f6bc5d25 2023-05-09)
binary: rustc
commit-hash: 2f6bc5d259e7ab25ddfdd33de53b892770218918
commit-date: 2023-05-09
host: x86_64-unknown-linux-gnu
release: 1.71.0-nightly
LLVM version: 16.0.2
Error output
<output>
Backtrace
error: internal compiler error: compiler/rustc_borrowck/src/universal_regions.rs:882:36: cannot convert `ReFree(DefId(0:5 ~ simple[493b]::test), BrNamed(DefId(0:6 ~ simple[493b]::test::'a), 'a))` to a region vid
thread 'rustc' panicked at 'Box<dyn Any>', /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/compiler/rustc_errors/src/lib.rs:1650:9
stack backtrace:
0: 0x7fe9b4d6a3b1 - std::backtrace_rs::backtrace::libunwind::trace::h6e5b7e23399032cc
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7fe9b4d6a3b1 - std::backtrace_rs::backtrace::trace_unsynchronized::h4528c06bee1e0a8b
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7fe9b4d6a3b1 - std::sys_common::backtrace::_print_fmt::h8c8479101d563d31
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/sys_common/backtrace.rs:65:5
3: 0x7fe9b4d6a3b1 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf3690daedd46952c
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7fe9b4dca80f - core::fmt::rt::Argument::fmt::h79448537abb02c02
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/core/src/fmt/rt.rs:138:9
5: 0x7fe9b4dca80f - core::fmt::write::hb7b70c241601eb54
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/core/src/fmt/mod.rs:1094:21
6: 0x7fe9b4d5d611 - std::io::Write::write_fmt::h2b40bdf00a46cf42
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/io/mod.rs:1712:15
7: 0x7fe9b4d6a1c5 - std::sys_common::backtrace::_print::h264fd8ac10e4d719
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7fe9b4d6a1c5 - std::sys_common::backtrace::print::h6190a4e08057accf
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7fe9b4d6ce47 - std::panicking::default_hook::{{closure}}::h1fcb6a5fbc17c145
10: 0x7fe9b4d6cc34 - std::panicking::default_hook::h1d4472ea1534e7eb
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/panicking.rs:288:9
11: 0x7fe9b7fd3cdb - <rustc_driver_impl[ce322c91000f3e2b]::install_ice_hook::{closure#0} as core[7de8eb2b24556be4]::ops::function::FnOnce<(&core[7de8eb2b24556be4]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
12: 0x7fe9b4d6d567 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h05757514719e9e39
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/alloc/src/boxed.rs:1999:9
13: 0x7fe9b4d6d567 - std::panicking::rust_panic_with_hook::h26983c5985cc3d7d
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/panicking.rs:695:13
14: 0x7fe9b84c1321 - std[bc31d8d7a4b25d9b]::panicking::begin_panic::<rustc_errors[f17d5d6c3485e527]::ExplicitBug>::{closure#0}
15: 0x7fe9b84beea6 - std[bc31d8d7a4b25d9b]::sys_common::backtrace::__rust_end_short_backtrace::<std[bc31d8d7a4b25d9b]::panicking::begin_panic<rustc_errors[f17d5d6c3485e527]::ExplicitBug>::{closure#0}, !>
16: 0x7fe9b84beb46 - std[bc31d8d7a4b25d9b]::panicking::begin_panic::<rustc_errors[f17d5d6c3485e527]::ExplicitBug>
17: 0x7fe9b84b99e4 - <rustc_errors[f17d5d6c3485e527]::HandlerInner>::bug::<alloc[62a5dcc9069c15c8]::string::String>
18: 0x7fe9b84b9716 - <rustc_errors[f17d5d6c3485e527]::Handler>::bug::<alloc[62a5dcc9069c15c8]::string::String>
19: 0x7fe9b85521ec - rustc_middle[b96152969e862739]::util::bug::opt_span_bug_fmt::<rustc_span[feb72a2200ed999]::span_encoding::Span>::{closure#0}
20: 0x7fe9b8551b2a - rustc_middle[b96152969e862739]::ty::context::tls::with_opt::<rustc_middle[b96152969e862739]::util::bug::opt_span_bug_fmt<rustc_span[feb72a2200ed999]::span_encoding::Span>::{closure#0}, !>::{closure#0}
21: 0x7fe9b8551afa - rustc_middle[b96152969e862739]::ty::context::tls::with_context_opt::<rustc_middle[b96152969e862739]::ty::context::tls::with_opt<rustc_middle[b96152969e862739]::util::bug::opt_span_bug_fmt<rustc_span[feb72a2200ed999]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
22: 0x7fe9b6207a3d - rustc_middle[b96152969e862739]::util::bug::bug_fmt
23: 0x7fe9b6fb2da3 - <rustc_borrowck[870b2eadfe30ec99]::type_check::constraint_conversion::ConstraintConversion>::convert_all
24: 0x7fe9b6f23c85 - <rustc_borrowck[870b2eadfe30ec99]::type_check::TypeChecker>::ascribe_user_type
25: 0x7fe9b6f1af86 - rustc_borrowck[870b2eadfe30ec99]::nll::compute_regions
26: 0x7fe9b6ec82bc - rustc_borrowck[870b2eadfe30ec99]::do_mir_borrowck
27: 0x7fe9b6ec4a12 - rustc_borrowck[870b2eadfe30ec99]::mir_borrowck
28: 0x7fe9b6ec2dc8 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::mir_borrowck, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
29: 0x7fe9b6ec2ab0 - rustc_query_impl[ff2244d0f49f60a1]::get_query::mir_borrowck
30: 0x7fe9b69e5180 - rustc_mir_transform[30e93fa49ed080f7]::mir_drops_elaborated_and_const_checked
31: 0x7fe9b69e30c8 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::mir_drops_elaborated_and_const_checked, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
32: 0x7fe9b69e2af0 - rustc_query_impl[ff2244d0f49f60a1]::get_query::mir_drops_elaborated_and_const_checked
33: 0x7fe9b6ca6a4c - rustc_mir_transform[30e93fa49ed080f7]::mir_for_ctfe
34: 0x7fe9b7444cd8 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::mir_for_ctfe, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
35: 0x7fe9b744485f - rustc_query_impl[ff2244d0f49f60a1]::get_query::mir_for_ctfe
36: 0x7fe9b6490ec0 - <rustc_const_eval[3aaa2df1d62119a5]::interpret::eval_context::InterpCx<rustc_const_eval[3aaa2df1d62119a5]::const_eval::machine::CompileTimeInterpreter>>::load_mir
37: 0x7fe9b63a8c11 - rustc_const_eval[3aaa2df1d62119a5]::const_eval::eval_queries::eval_to_allocation_raw_provider
38: 0x7fe9b7301355 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::eval_to_allocation_raw, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
39: 0x7fe9b7300f8f - rustc_query_impl[ff2244d0f49f60a1]::get_query::eval_to_allocation_raw
40: 0x7fe9b63a91fa - rustc_const_eval[3aaa2df1d62119a5]::const_eval::eval_queries::eval_to_allocation_raw_provider
41: 0x7fe9b7301355 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::eval_to_allocation_raw, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
42: 0x7fe9b7300f8f - rustc_query_impl[ff2244d0f49f60a1]::get_query::eval_to_allocation_raw
43: 0x7fe9b771d353 - rustc_const_eval[3aaa2df1d62119a5]::const_eval::eval_to_valtree
44: 0x7fe9b771d1e0 - <rustc_const_eval[3aaa2df1d62119a5]::provide::{closure#0} as core[7de8eb2b24556be4]::ops::function::FnOnce<(rustc_middle[b96152969e862739]::ty::context::TyCtxt, rustc_middle[b96152969e862739]::ty::ParamEnvAnd<rustc_middle[b96152969e862739]::mir::interpret::GlobalId>)>>::call_once
45: 0x7fe9b7670da2 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::eval_to_valtree, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
46: 0x7fe9b76709b5 - rustc_query_impl[ff2244d0f49f60a1]::get_query::eval_to_valtree
47: 0x7fe9b623f880 - rustc_middle[b96152969e862739]::ty::query::query_get_at::<rustc_query_system[180594c788319d08]::query::caches::DefaultCache<rustc_middle[b96152969e862739]::ty::ParamEnvAnd<rustc_middle[b96152969e862739]::mir::interpret::GlobalId>, rustc_middle[b96152969e862739]::query::erase::Erased<[u8; 24usize]>>>
48: 0x7fe9b623f567 - <rustc_middle[b96152969e862739]::ty::context::TyCtxt>::const_eval_global_id_for_typeck
49: 0x7fe9b623f11c - <rustc_middle[b96152969e862739]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
50: 0x7fe9b657df10 - <rustc_middle[b96152969e862739]::ty::consts::kind::ConstKind>::eval
51: 0x7fe9b6500146 - <rustc_hir_typeck[8b356db618624f6b]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
52: 0x7fe9b654814a - <rustc_hir_typeck[8b356db618624f6b]::fn_ctxt::FnCtxt>::check_decl
53: 0x7fe9b6543eb2 - <rustc_hir_typeck[8b356db618624f6b]::fn_ctxt::FnCtxt>::check_block_with_expected
54: 0x7fe9b64fb789 - <rustc_hir_typeck[8b356db618624f6b]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
55: 0x7fe9b66384e6 - <rustc_hir_typeck[8b356db618624f6b]::fn_ctxt::FnCtxt>::check_return_expr
56: 0x7fe9b663015e - rustc_hir_typeck[8b356db618624f6b]::check::check_fn
57: 0x7fe9b6616fa3 - rustc_hir_typeck[8b356db618624f6b]::typeck
58: 0x7fe9b660cad2 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::typeck, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
59: 0x7fe9b7024d63 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::used_trait_imports, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
60: 0x7fe9b74a1239 - rustc_hir_analysis[90d331eccd9fdd4d]::check_crate
61: 0x7fe9b7495520 - rustc_interface[10d1c68131cce565]::passes::analysis
62: 0x7fe9b774a407 - rustc_query_system[180594c788319d08]::query::plumbing::try_execute_query::<rustc_query_impl[ff2244d0f49f60a1]::queries::analysis, rustc_query_impl[ff2244d0f49f60a1]::plumbing::QueryCtxt>
63: 0x7fe9b774a123 - rustc_query_impl[ff2244d0f49f60a1]::get_query::analysis
64: 0x7fe9b71e05cf - <rustc_middle[b96152969e862739]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[ce322c91000f3e2b]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>>
65: 0x7fe9b71df6af - <rustc_interface[10d1c68131cce565]::interface::Compiler>::enter::<rustc_driver_impl[ce322c91000f3e2b]::run_compiler::{closure#1}::{closure#2}, core[7de8eb2b24556be4]::result::Result<core[7de8eb2b24556be4]::option::Option<rustc_interface[10d1c68131cce565]::queries::Linker>, rustc_span[feb72a2200ed999]::ErrorGuaranteed>>
66: 0x7fe9b71dcd3b - std[bc31d8d7a4b25d9b]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[10d1c68131cce565]::util::run_in_thread_pool_with_globals<rustc_interface[10d1c68131cce565]::interface::run_compiler<core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>, rustc_driver_impl[ce322c91000f3e2b]::run_compiler::{closure#1}>::{closure#0}, core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>>
67: 0x7fe9b78b5155 - <<std[bc31d8d7a4b25d9b]::thread::Builder>::spawn_unchecked_<rustc_interface[10d1c68131cce565]::util::run_in_thread_pool_with_globals<rustc_interface[10d1c68131cce565]::interface::run_compiler<core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>, rustc_driver_impl[ce322c91000f3e2b]::run_compiler::{closure#1}>::{closure#0}, core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[7de8eb2b24556be4]::result::Result<(), rustc_span[feb72a2200ed999]::ErrorGuaranteed>>::{closure#1} as core[7de8eb2b24556be4]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
68: 0x7fe9b4d77a15 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hdc6a7ff0c7f1614a
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/alloc/src/boxed.rs:1985:9
69: 0x7fe9b4d77a15 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf73467eae757427c
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/alloc/src/boxed.rs:1985:9
70: 0x7fe9b4d77a15 - std::sys::unix::thread::Thread::new::thread_start::h747e49fa31477839
at /rustc/cba14074bb4cc12bfe918eabd0d52a3999b2a461/library/std/src/sys/unix/thread.rs:108:17
71: 0x7fe9b4b14bb5 - <unknown>
72: 0x7fe9b4b96d90 - <unknown>
73: 0x0 - <unknown>
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.71.0-nightly (cba14074b 2023-05-10) running on x86_64-unknown-linux-gnu
query stack during panic:
#0 [mir_borrowck] borrow-checking `test::{constant#1}`
#1 [mir_drops_elaborated_and_const_checked] elaborating drops for `test::{constant#1}`
#2 [mir_for_ctfe] caching mir of `test::{constant#1}` for CTFE
#3 [eval_to_allocation_raw] const-evaluating + checking `test::{constant#1}`
#4 [eval_to_allocation_raw] const-evaluating + checking `test::{constant#1}`
#5 [eval_to_valtree] evaluating type-level constant
#6 [typeck] type-checking `test`
#7 [used_trait_imports] finding used_trait_imports `test`
#8 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to previous error
Metadata
Metadata
Assignees
Labels
A-const-genericsArea: const generics (parameters and arguments)Area: const generics (parameters and arguments)C-bugCategory: This is a bug.Category: This is a bug.F-generic_const_exprs`#![feature(generic_const_exprs)]``#![feature(generic_const_exprs)]`I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.ICE tracked in rust-lang/glacier.
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
BoxyUwU commentedon May 10, 2023
going to close this in favor of #111434
compiler-errors commentedon May 10, 2023
matthiaskrgr commentedon May 10, 2023
matthiaskrgr commentedon May 10, 2023
BoxyUwU commentedon May 10, 2023
matthiaskrgr commentedon May 10, 2023
matthiaskrgr commentedon May 10, 2023
JohnTitor commentedon Sep 21, 2023
Triage: Fixed on the latest nightly, marking as
E-needs-test
but feel free to close if there's a regression test already.compiler-errors commentedon Sep 21, 2023
yeah, no need for an additional test. was fixed by #115486.