We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
const fn foo(n: usize) -> usize { n } fn bar<const N: usize>() -> [u32; foo(N)] { [0; foo(N)] } fn main() {}
Generates the error message:
error[E0658]: const generics are unstable --> ...\test.rs:2:14 | 2 | fn bar<const N: usize>() -> [u32; foo(N)] { | ^ | = note: see issue #74878 <https://github.com/rust-lang/rust/issues/74878> for more information = help: add `#![feature(min_const_generics)]` to the crate attributes to enable error: internal compiler error: compiler\rustc_middle\src\ty\subst.rs:568:17: const parameter `N/#0` (Const { ty: usize, val: Param(N/#0) }/0) out of range when substituting substs=[] thread 'rustc' panicked at 'Box<Any>', /rustc/593fe977a77ad5a7aec23c6cb0f86a3470221670\compiler\rustc_errors\src\lib.rs:904:9 stack backtrace: 0: std::panicking::begin_panic 1: rustc_errors::HandlerInner::span_bug 2: rustc_errors::Handler::span_bug 3: rustc_middle::util::bug::opt_span_bug_fmt::{{closure}} 4: rustc_middle::ty::context::tls::with_opt::{{closure}} 5: rustc_middle::ty::context::tls::with_opt 6: rustc_middle::util::bug::opt_span_bug_fmt 7: rustc_middle::util::bug::span_bug_fmt 8: <rustc_middle::ty::subst::SubstFolder as rustc_middle::ty::fold::TypeFolder>::fold_const 9: rustc_middle::ty::normalize_erasing_regions::<impl rustc_middle::ty::context::TyCtxt>::subst_and_normalize_erasing_regions 10: rustc_mir::interpret::operand::<impl rustc_mir::interpret::eval_context::InterpCx<M>>::eval_operand 11: <core::iter::adapters::ResultShunt<I,E> as core::iter::traits::iterator::Iterator>::next 12: <alloc::vec::Vec<T> as alloc::vec::SpecFromIter<T,I>>::from_iter 13: rustc_mir::interpret::step::<impl rustc_mir::interpret::eval_context::InterpCx<M>>::run 14: rustc_mir::const_eval::eval_queries::eval_to_allocation_raw_provider 15: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::eval_to_allocation_raw>::compute 16: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task 17: rustc_data_structures::stack::ensure_sufficient_stack 18: rustc_query_system::query::plumbing::get_query_impl 19: rustc_mir::const_eval::eval_queries::eval_to_const_value_raw_provider 20: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::eval_to_const_value_raw>::compute 21: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task 22: rustc_data_structures::stack::ensure_sufficient_stack 23: rustc_query_system::query::plumbing::get_query_impl 24: rustc_mir::const_eval::eval_queries::eval_to_const_value_raw_provider 25: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::eval_to_const_value_raw>::compute 26: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task 27: rustc_data_structures::stack::ensure_sufficient_stack 28: rustc_query_system::query::plumbing::get_query_impl 29: rustc_middle::mir::interpret::queries::<impl rustc_middle::ty::context::TyCtxt>::const_eval_global_id 30: rustc_middle::mir::interpret::queries::<impl rustc_middle::ty::context::TyCtxt>::const_eval_resolve 31: rustc_middle::ty::consts::kind::ConstKind::try_eval 32: <rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_const 33: rustc_middle::ty::structural_impls::<impl rustc_middle::ty::fold::TypeFoldable for &rustc_middle::ty::TyS>::super_fold_with 34: <rustc_trait_selection::traits::project::AssocTypeNormalizer as rustc_middle::ty::fold::TypeFolder>::fold_ty 35: rustc_middle::ty::util::fold_list 36: rustc_trait_selection::traits::project::AssocTypeNormalizer::fold 37: rustc_data_structures::stack::ensure_sufficient_stack 38: rustc_trait_selection::traits::project::normalize 39: <rustc_infer::infer::InferCtxt as rustc_trait_selection::infer::InferCtxtExt>::partially_normalize_associated_types_in 40: rustc_typeck::check::inherited::Inherited::normalize_associated_types_in 41: rustc_infer::infer::InferCtxtBuilder::enter 42: rustc_typeck::check::wfcheck::check_item_well_formed 43: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::check_item_well_formed>::compute 44: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task 45: rustc_data_structures::stack::ensure_sufficient_stack 46: rustc_query_system::query::plumbing::get_query_impl 47: rustc_query_system::query::plumbing::ensure_query_impl 48: rustc_data_structures::sync::par_for_each_in 49: rustc_hir::hir::Crate::par_visit_all_item_likes 50: rustc_session::session::Session::track_errors 51: rustc_typeck::check_crate 52: rustc_interface::passes::analysis 53: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute 54: rustc_query_system::dep_graph::graph::DepGraph<K>::with_eval_always_task 55: rustc_data_structures::stack::ensure_sufficient_stack 56: rustc_query_system::query::plumbing::get_query_impl 57: rustc_interface::passes::QueryContext::enter 58: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter 59: rustc_span::with_source_map 60: scoped_tls::ScopedKey<T>::set note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose 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.50.0-nightly (593fe977a 2020-11-20) running on x86_64-pc-windows-gnu query stack during panic: #0 [eval_to_allocation_raw] const-evaluating + checking `bar::{constant#0}` #1 [eval_to_const_value_raw] simplifying constant for the type system `bar::{constant#0}` #2 [eval_to_const_value_raw] simplifying constant for the type system `bar::{constant#0}` #3 [check_item_well_formed] checking that `bar` is well-formed #4 [analysis] running analysis passes on this crate end of query stack error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0658`. Tool completed with exit code 101
The text was updated successfully, but these errors were encountered:
duplicate of #56445 and related issues
Sorry, something went wrong.
No branches or pull requests
Generates the error message:
The text was updated successfully, but these errors were encountered: