Closed
Description
Code (playground)
#![feature(rustc_attrs)]
#[rustc_args_required_const(1)] // param 1 doesn't exist, only param 0
fn foo(_: u8){}
fn main() {
foo(1);
}
Meta
rustc --version --verbose
:
rustc 1.47.0-nightly (f9a308636 2020-07-20) running on x86_64-unknown-linux-gnu
Error output
thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 1', src/librustc_mir/transform/promote_consts.rs:412:81
Backtrace
0: std::backtrace_rs::backtrace::libunwind::trace
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/../backtrace/src/backtrace/libunwind.rs:96
1: std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/../backtrace/src/backtrace/mod.rs:66
2: std::sys_common::backtrace::_print_fmt
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/sys_common/backtrace.rs:77
3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/sys_common/backtrace.rs:58
4: core::fmt::write
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libcore/fmt/mod.rs:1117
5: std::io::Write::write_fmt
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/io/mod.rs:1508
6: std::sys_common::backtrace::_print
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/sys_common/backtrace.rs:61
7: std::sys_common::backtrace::print
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/sys_common/backtrace.rs:48
8: std::panicking::default_hook::{{closure}}
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/panicking.rs:198
9: std::panicking::default_hook
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/panicking.rs:217
10: rustc_driver::report_ice
11: std::panicking::rust_panic_with_hook
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/panicking.rs:530
12: rust_begin_unwind
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libstd/panicking.rs:437
13: core::panicking::panic_fmt
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libcore/panicking.rs:85
14: core::panicking::panic_bounds_check
at /rustc/f9a3086363f214f2b56bef30f0ac572e1a9127f1/src/libcore/panicking.rs:62
15: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
16: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
17: <rustc_mir::transform::promote_consts::PromoteTemps as rustc_mir::transform::MirPass>::run_pass
18: rustc_mir::transform::run_passes
19: rustc_mir::transform::mir_validated
20: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::mir_validated>::compute
21: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
22: rustc_data_structures::stack::ensure_sufficient_stack
23: rustc_query_system::query::plumbing::get_query_impl
24: rustc_mir::borrow_check::mir_borrowck
25: core::ops::function::FnOnce::call_once
26: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::mir_borrowck>::compute
27: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
28: rustc_data_structures::stack::ensure_sufficient_stack
29: rustc_query_system::query::plumbing::get_query_impl
30: rustc_query_system::query::plumbing::ensure_query_impl
31: rustc_session::utils::<impl rustc_session::session::Session>::time
32: rustc_interface::passes::analysis
33: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute
34: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
35: rustc_query_system::query::plumbing::get_query_impl
36: rustc_middle::ty::context::tls::enter_global
37: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
38: rustc_span::with_source_map
39: rustc_interface::interface::create_compiler_and_run
40: scoped_tls::ScopedKey<T>::set