Open
Description
Disclaimer
I know the feature generic_const_exprs
is incomplete, and don't expect it to fully work. This is just in case this is a new issue and could be helpful.
Code
#![feature(generic_const_exprs)]
pub struct Struct<const N: usize>;
impl<const N: usize> Struct<N> {
pub const OK: usize = 0;
}
fn main() {
function::<0>();
}
fn function<const NUM_CARDS: usize>()
where
[(); Struct::<{ NUM_CARDS + 0 }>::OK]:,
{
}
Meta
rustc --version --verbose
:
rustc 1.85.0-nightly (7f75bfa1a 2024-12-30)
binary: rustc
commit-hash: 7f75bfa1ad4e9a9d33a179a90603001515e91991
commit-date: 2024-12-30
host: x86_64-unknown-linux-gnu
release: 1.85.0-nightly
LLVM version: 19.1.6
Error output
thread 'rustc query cycle handler' panicked at compiler/rustc_query_system/src/query/job.rs:504:9:
deadlock detected as we're unable to find a query cycle to break
Backtrace
❯ RUST_BACKTRACE=full cargo run
Compiling ice v0.1.0 (/home/user/.config/rebos/files/common/home/user/Code/rust/ice)
warning: the feature `generic_const_exprs` is incomplete and may not be safe to use and/or cause compiler crashes
--> src/main.rs:1:12
|
1 | #![feature(generic_const_exprs)]
| ^^^^^^^^^^^^^^^^^^^
|
= note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information
= note: `#[warn(incomplete_features)]` on by default
thread 'rustc query cycle handler' panicked at compiler/rustc_query_system/src/query/job.rs:504:9:
deadlock detected as we're unable to find a query cycle to break
current query map:
{"reason":"compiler-message","package_id":"path+file:///home/user/.config/rebos/files/common/home/user/Code/rust/ice#0.1.0","manifest_path":"/home/user/.config/rebos/files/common/home/user/Code/rust/ice/Cargo.toml","target":{"kind":["bin"],"crate_types":["bin"],"name":"ice","src_path":"/home/user/.config/rebos/files/common/home/user/Code/rust/ice/src/main.rs","edition":"2024","doc":true,"doctest":false,"test":true},"message":{}}
stack backtrace:
0: 0x767883ccccea - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hfeb90fd9b5398c4f
1: 0x767884413466 - core::fmt::write::hd020802d4198e71b
2: 0x76788531abd1 - std::io::Write::write_fmt::h7e2e8e4cf92a8d65
3: 0x767883cccb42 - std::sys::backtrace::BacktraceLock::print::h66b4c03e5039d072
4: 0x767883ccf049 - std::panicking::default_hook::{{closure}}::hcc157a01562efcba
5: 0x767883ccee92 - std::panicking::default_hook::h21db3d7d04627650
6: 0x767882e3a688 - std[cb5a7f0ea0430aa5]::panicking::update_hook::<alloc[dd9cf49c51639ce8]::boxed::Box<rustc_driver_impl[a708e1f659847ef0]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x767883ccf803 - std::panicking::rust_panic_with_hook::h6f76ca5eeec77396
8: 0x767883ccf4fa - std::panicking::begin_panic_handler::{{closure}}::hf108fef1bd19d641
9: 0x767883ccd199 - std::sys::backtrace::__rust_end_short_backtrace::heff692e62eddffc0
10: 0x767883ccf1bd - rust_begin_unwind
11: 0x76788099d390 - core::panicking::panic_fmt::h98a3fbf157fea8f4
12: 0x7678838790da - rustc_query_system[7637a88347177bdb]::query::job::break_query_cycles
13: 0x767882e30f3c - std[cb5a7f0ea0430aa5]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[5a45d25d69207022]::util::run_in_thread_pool_with_globals<rustc_interface[5a45d25d69207022]::interface::run_compiler<(), rustc_driver_impl[a708e1f659847ef0]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#2}::{closure#1}, ()>
14: 0x767882e3f744 - <<std[cb5a7f0ea0430aa5]::thread::Builder>::spawn_unchecked_<rustc_interface[5a45d25d69207022]::util::run_in_thread_pool_with_globals<rustc_interface[5a45d25d69207022]::interface::run_compiler<(), rustc_driver_impl[a708e1f659847ef0]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#2}::{closure#1}, ()>::{closure#1} as core[2b031b7237be44de]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
15: 0x767885259381 - std::sys::pal::unix::thread::Thread::new::thread_start::h0f9dd4118f064405
16: 0x76787f6a0386 - <unknown>
17: 0x76787f721b0c - <unknown>
18: 0x0 - <unknown>
error: 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: please make sure that you have updated to the latest nightly
note: please attach the file at `/home/user/.config/rebos/files/common/home/user/Code/rust/ice/rustc-ice-2024-12-31T17_57_52-210002.txt` to your bug report
note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED] -Z threads=12 -Z macro-backtrace -C target-cpu=native -C linker=clang -C link-arg=-fuse-ld=/usr/bin/mold -Z threads=12 -Z macro-backtrace -C target-cpu=native -C linker=clang -C link-arg=-fuse-ld=/usr/bin/mold
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
end of query stack
query cycle handler thread panicked, aborting process
warning: `ice` (bin "ice") generated 1 warning
error: could not compile `ice` (bin "ice"); 1 warning emitted
Caused by:
process didn't exit successfully: `/home/user/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name ice --edition=2024 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=111 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=d5f9e422892f9ee1 -C extra-filename=-cd55e940cca72f2d --out-dir /home/user/.config/rebos/files/common/home/user/Code/rust/ice/target/debug/deps -C incremental=/home/user/.config/rebos/files/common/home/user/Code/rust/ice/target/debug/incremental -L dependency=/home/user/.config/rebos/files/common/home/user/Code/rust/ice/target/debug/deps -Zthreads=12 -Zmacro-backtrace -Ctarget-cpu=native -Clinker=clang -Clink-arg=-fuse-ld=/usr/bin/mold -Zthreads=12 -Zmacro-backtrace -Ctarget-cpu=native -Clinker=clang -Clink-arg=-fuse-ld=/usr/bin/mold` (signal: 6, SIGABRT: process abort signal)