rustfmt 1.3.0-nightly (d334502 2019-06-09)
rustc 1.37.0-nightly (8aa42ed7c 2019-06-24)
thread 'main' panicked at 'bad span: `.`: `)`', src/tools/rustfmt/src/source_map.rs:52:13
stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88
1: backtrace::backtrace::trace_unsynchronized
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66
2: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:47
3: std::sys_common::backtrace::print
at src/libstd/sys_common/backtrace.rs:36
4: std::panicking::default_hook::{{closure}}
at src/libstd/panicking.rs:198
5: std::panicking::default_hook
at src/libstd/panicking.rs:212
6: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:475
7: std::panicking::continue_panic_fmt
at src/libstd/panicking.rs:382
8: std::panicking::begin_panic_fmt
at src/libstd/panicking.rs:337
9: <rustfmt_nightly::visitor::SnippetProvider as rustfmt_nightly::source_map::SpanUtils>::span_before::{{closure}}
10: <rustfmt_nightly::visitor::SnippetProvider as rustfmt_nightly::source_map::SpanUtils>::span_before
11: rustfmt_nightly::chains::rewrite_chain
12: rustfmt_nightly::expr::format_expr
13: rustfmt_nightly::expr::rewrite_assign_rhs_with
14: rustfmt_nightly::items::<impl rustfmt_nightly::rewrite::Rewrite for syntax::ast::Local>::rewrite
15: rustfmt_nightly::expr::<impl rustfmt_nightly::rewrite::Rewrite for syntax::ast::Stmt>::rewrite
16: rustfmt_nightly::visitor::FmtVisitor::walk_stmts
17: rustfmt_nightly::visitor::FmtVisitor::walk_stmts
18: rustfmt_nightly::visitor::FmtVisitor::walk_stmts
19: rustfmt_nightly::visitor::FmtVisitor::walk_stmts
20: rustfmt_nightly::visitor::FmtVisitor::visit_block
21: rustfmt_nightly::visitor::FmtVisitor::visit_fn
22: rustfmt_nightly::visitor::FmtVisitor::visit_item
23: rustfmt_nightly::reorder::<impl rustfmt_nightly::visitor::FmtVisitor>::visit_items_with_reordering
24: rustfmt_nightly::visitor::FmtVisitor::walk_mod_items
25: rustfmt_nightly::visitor::FmtVisitor::format_separate_mod
26: rustfmt_nightly::formatting::format_project
27: syntax::with_globals
28: rustfmt_nightly::Session<T>::format
29: rustfmt::format_and_emit_report
30: rustfmt_nightly::Session<T>::override_config
31: rustfmt::execute
32: rustfmt::main
33: std::rt::lang_start::{{closure}}
34: std::rt::lang_start_internal::{{closure}}
at src/libstd/rt.rs:49
35: std::panicking::try::do_call
at src/libstd/panicking.rs:294
36: __rust_maybe_catch_panic
at src/libpanic_unwind/lib.rs:82
37: std::panicking::try
at src/libstd/panicking.rs:273
38: std::panic::catch_unwind
at src/libstd/panic.rs:388
39: std::rt::lang_start_internal
at src/libstd/rt.rs:48
40: main
41: __libc_start_main
42: <unknown>
@bbigras Could you provide a working example to reproduce this, please? It would be helpful to track down the bug.
Yes sorry. I was working on it but I should have waited to send it at the same time as the report.
The problem goes away if I remove the ? in this code:
fn main() {
await!(something)?;
}
I think I don't have the problem with:
rustfmt 1.2.2-nightly (5274b49 2019-04-24)
rustc 1.37.0-nightly (991c719a1 2019-06-08)
Here is a Rust playground that causes this.
The code snippet is from a larger piece I can't share and which compiles but causes rustfmt (nightly) to die with the above stack trace. The playground also exhibits this with the stable toolchain's rustfmt.
I can also confirm experiencing such an error on 1.47 stable
The issue as of now seems to be such format: x.0.0. Fix: change to (x.0).0
Most helpful comment
I can also confirm experiencing such an error on 1.47 stable
The issue as of now seems to be such format:
x.0.0. Fix: change to(x.0).0