You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Attempting to use the format argument N as the precision without correct number of arguments causes the compiler to panic.
I tried this code:
fn main() {
let msg = format!("y: {0:.1$}", 1.234);
}
I expected to see an error message informing me of using format!() incorrectly
Instead, I got a compiler panic.
thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 1', /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libcore/slice/mod.rs:2717:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.39.0 (4560ea788 2019-11-04) running on x86_64-unknown-linux-gnu
note: compiler flags: -C codegen-units=1 -C debuginfo=2 --crate-type bin
note: some of the compiler flags provided by cargo are hidden
error: could not compile `playground`.
To learn more, run the command again with --verbose.
Meta
rustc --version --verbose:
thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 1', /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libcore/slice/mod.rs:2717:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.39.0 (4560ea788 2019-11-04) running on x86_64-unknown-linux-gnu
note: compiler flags: -C codegen-units=1 -C debuginfo=2 --crate-type bin
note: some of the compiler flags provided by cargo are hidden
error: could not compile `playground`.
To learn more, run the command again with --verbose.
Backtrace:
thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 1', /rustc/4560ea788cb760f0a34127156c78e2552949f734/src/libcore/slice/mod.rs:2717:10
stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /cargo/registry/src/github.jparrowsec.cn-1ecc6299db9ec823/backtrace-0.3.37/src/backtrace/libunwind.rs:88
1: backtrace::backtrace::trace_unsynchronized
at /cargo/registry/src/github.jparrowsec.cn-1ecc6299db9ec823/backtrace-0.3.37/src/backtrace/mod.rs:66
2: std::sys_common::backtrace::_print_fmt
at src/libstd/sys_common/backtrace.rs:76
3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
at src/libstd/sys_common/backtrace.rs:60
4: core::fmt::write
at src/libcore/fmt/mod.rs:1030
5: std::io::Write::write_fmt
at src/libstd/io/mod.rs:1412
6: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:64
7: std::sys_common::backtrace::print
at src/libstd/sys_common/backtrace.rs:49
8: std::panicking::default_hook::{{closure}}
at src/libstd/panicking.rs:196
9: std::panicking::default_hook
at src/libstd/panicking.rs:210
10: rustc_driver::report_ice
11: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:477
12: std::panicking::continue_panic_fmt
at src/libstd/panicking.rs:380
13: rust_begin_unwind
at src/libstd/panicking.rs:307
14: core::panicking::panic_fmt
at src/libcore/panicking.rs:85
15: core::panicking::panic_bounds_check
at src/libcore/panicking.rs:61
16: syntax_ext::format::expand_preparsed_format_args
17: syntax_ext::format::expand_format_args_impl
18: <F as syntax::ext::base::TTMacroExpander>::expand
19: syntax::ext::expand::MacroExpander::fully_expand_fragment
20: syntax::ext::expand::MacroExpander::expand_crate
21: rustc_interface::passes::configure_and_expand_inner::{{closure}}
22: rustc::util::common::time
23: rustc_interface::passes::configure_and_expand_inner
24: rustc_interface::passes::configure_and_expand::{{closure}}
25: rustc_data_structures::box_region::PinnedGenerator<I,A,R>::new
26: rustc_interface::passes::configure_and_expand
27: rustc_interface::queries::Query<T>::compute
28: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::expansion
29: rustc_interface::interface::run_compiler_in_existing_thread_pool
30: std::thread::local::LocalKey<T>::with
31: scoped_tls::ScopedKey<T>::set
32: syntax::with_globals
The text was updated successfully, but these errors were encountered:
Summary
Attempting to use the format argument N as the precision without correct number of arguments causes the compiler to panic.
I tried this code:
I expected to see an error message informing me of using format!() incorrectly
Instead, I got a compiler panic.
Meta
rustc --version --verbose
:Backtrace:
The text was updated successfully, but these errors were encountered: