Open aikixd opened 3 weeks ago
Reduced:
#![feature(generic_const_exprs)]
impl<const N: usize> Encodable for IntX<N> {
const E: usize = 32;
fn encode()
where
[(); Self::E]:,
{
}
}
pub trait Encodable {
const E: usize;
fn encode()
where
[(); Self::E]:;
}
pub struct IntX<const N: usize>;
and main.rs
:
use syslib::{Encodable, IntX};
fn main() {
IntX::<32>::encode();
}
This looks a lot like a duplicate of #128525.
Code
https://github.com/aikixd/rustc-ice
$
cargo test -- intx
Meta
rustc --version --verbose
:Error output
Backtrace
``` thread 'rustc' panicked at compiler/rustc_middle/src/ty/sty.rs:362:36: called `Option::unwrap()` on a `None` value stack backtrace: 0: rust_begin_unwind 1: core::panicking::panic_fmt 2: core::panicking::panic 3: core::option::unwrap_failed 4:::find_ty_from_env.cold
5: ::process_obligation
6: >::process_obligations::
7: rustc_traits::codegen::codegen_select_candidate
[... omitted 3 frames ...]
8: rustc_ty_utils::instance::resolve_instance_raw
[... omitted 1 frame ...]
9: ::const_eval_resolve
10: rustc_const_eval::const_eval::eval_queries::eval_to_allocation_raw_provider
[... omitted 3 frames ...]
11: rustc_const_eval::const_eval::valtrees::eval_to_valtree
12: )>>::call_once
[... omitted 3 frames ...]
13: rustc_middle::query::plumbing::query_get_at::, rustc_middle::query::erase::Erased<[u8; 24]>>>
14: ::const_eval_global_id_for_typeck
15: ::const_eval_resolve_for_typeck
16: ::normalize
17: >::try_super_fold_with::
18: rustc_trait_selection::traits::normalize_param_env_or_error
19: rustc_ty_utils::ty::param_env
[... omitted 1 frame ...]
20: rustc_ty_utils::abi::fn_abi_of_instance
[... omitted 1 frame ...]
21: ::predefine_fn
22: rustc_codegen_llvm::base::compile_codegen_unit::module_codegen
23: ::compile_codegen_unit
24: ::codegen_crate
25: ::codegen_and_build_linker
26: rustc_interface::interface::run_compiler::, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
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/aikixd/Dev/playground/iwasm-minified/syslib/rustc-ice-2024-09-30T09_20_19-32028.txt` to your bug report
note: compiler flags: -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [codegen_select_candidate] computing candidate for ` as syslib::abi::Encodable>`
#1 [resolve_instance_raw] resolving instance ` as syslib::abi::Encodable>::ENCODED_SLOTS_FIT_BYTES`
#2 [eval_to_allocation_raw] const-evaluating + checking `syslib::abi::overlay::>::encode::{constant#0}`
#3 [eval_to_valtree] evaluating type-level constant
#4 [param_env] computing normalized predicates of `syslib::abi::overlay::>::encode`
#5 [fn_abi_of_instance] computing call ABI of `syslib::abi::overlay::>::encode`
end of query stack
warning: `syslib` (test "abi_encode") generated 1 warning
error: could not compile `syslib` (test "abi_encode"); 1 warning emitted
Caused by:
process didn't exit successfully: `/home/aikixd/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name abi_encode --edition=2021 tests/abi_encode.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=284 --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs)' --check-cfg 'cfg(feature, values())' -C metadata=67666a9237053461 -C extra-filename=-67666a9237053461 --out-dir /home/aikixd/Dev/playground/iwasm-minified/syslib/target/debug/deps -C incremental=/home/aikixd/Dev/playground/iwasm-minified/syslib/target/debug/incremental -L dependency=/home/aikixd/Dev/playground/iwasm-minified/syslib/target/debug/deps --extern syslib=/home/aikixd/Dev/playground/iwasm-minified/syslib/target/debug/deps/libsyslib-e275517b41e870a5.rlib` (exit status: 101)
```