Closed
Description
Describe the bug
The tuple.0.0
syntax, whose support was recently merged to rustc (rust-lang/rust#71322), causes rustfmt to panic.
To Reproduce
fn main() {
let _ = ((1,),).0.0;
}
thread 'main' panicked at 'bad span: `.`: ``', src/tools/rustfmt/src/source_map.rs:52:13
Backtrace
stack backtrace:
0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
1: core::fmt::write
2: std::io::Write::write_fmt
3: std::panicking::default_hook::{{closure}}
4: std::panicking::default_hook
5: std::panicking::rust_panic_with_hook
6: rust_begin_unwind
7: std::panicking::begin_panic_fmt
8: <rustfmt_nightly::visitor::SnippetProvider as rustfmt_nightly::source_map::SpanUtils>::span_before::{{closure}}
9: <rustfmt_nightly::visitor::SnippetProvider as rustfmt_nightly::source_map::SpanUtils>::span_before
10: rustfmt_nightly::chains::rewrite_chain
11: rustfmt_nightly::expr::format_expr
12: rustfmt_nightly::expr::rewrite_assign_rhs_with
13: rustfmt_nightly::items::<impl rustfmt_nightly::rewrite::Rewrite for rustc_ap_rustc_ast::ast::Local>::rewrite
14: rustfmt_nightly::stmt::format_stmt
15: rustfmt_nightly::visitor::FmtVisitor::walk_stmts
16: rustfmt_nightly::visitor::FmtVisitor::visit_block
17: rustfmt_nightly::visitor::FmtVisitor::visit_fn
18: rustfmt_nightly::visitor::FmtVisitor::visit_item
19: rustfmt_nightly::reorder::<impl rustfmt_nightly::visitor::FmtVisitor>::visit_items_with_reordering
20: rustfmt_nightly::visitor::FmtVisitor::walk_mod_items
21: rustfmt_nightly::visitor::FmtVisitor::format_separate_mod
22: rustfmt_nightly::formatting::format_project
23: scoped_tls::ScopedKey<T>::set
24: rustc_ap_rustc_ast::attr::with_session_globals
25: rustfmt_nightly::Session<T>::format
26: rustfmt::format_and_emit_report
27: rustfmt_nightly::Session<T>::override_config
28: rustfmt::execute
29: rustfmt::main
30: std::rt::lang_start::{{closure}}
31: std::rt::lang_start_internal
32: main
Expected behavior
rustfmt completes without panicking.
Meta
- rustfmt version:
rustfmt 1.4.19-nightly (cef1c0d5 2020-07-21)
- From where did you install rustfmt?: rustup
- How do you run rustfmt:
rustfmt +nightly-2020-07-27 filename.rs