rust-analyzer: rust-analyzer crashing after switching to other crate in the same workspace

Here what I got in

[ERROR rust_analyzer::main_loop] File with cargo diagnostic not found in VFS: foo/target/debug/build/boo-a04cb5b45ec9024d/out/java_glue.rs
Error: LspError { code: -32900, message: "Rust file outside current workspace is not supported yet." }
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', /home/evgeniy/.cargo/registry/src/github.com-1ecc6299db9ec823/lsp-server-0.3.1/src/stdio.rs:29:13
Process rust-analyzer stderr finished

I build rust-analyzer from source rev 1b136aae0b92b4b75ae1aad28ccf27d8b2b6cf73

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 17 (8 by maintainers)

Most upvoted comments

Indeed, thanks for the hint… I just saw the new VFS commit. I was running the previous release accidentally.

So I can finally start using rust-analyzer again, I feel like I’ve recovered a superpower. 😄 Thanks!

@dkasak that’s strage, as we no longer have “Rust file outside current workspace is not supported yet” string in the codebase. So, either our release process is broken and we’ve relased some very old code, or you might not be using the version you think you use.

I got a couple of panics, but not the one in the original report:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ParseFloatError { kind: Invalid }', crates/ra_proc_macro_srv/src/rustc_server.rs:507:22
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1076
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1537
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   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:198
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:218
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:477
  11: rust_begin_unwind
             at src/libstd/panicking.rs:385
  12: core::panicking::panic_fmt
             at src/libcore/panicking.rs:86
  13: core::option::expect_none_failed
             at src/libcore/option.rs:1272
  14: <ra_proc_macro_srv::rustc_server::Rustc as ra_proc_macro_srv::proc_macro::bridge::server::Literal>::f32
  15: <ra_proc_macro_srv::proc_macro::bridge::server::Dispatcher<ra_proc_macro_srv::proc_macro::bridge::server::MarkedTypes<S>> as ra_proc_macro_srv::proc_macro::bridge::server::DispatcherTrait>::dispatch
  16: <ra_proc_macro_srv::proc_macro::bridge::closure::Closure<A,R> as core::convert::From<&mut F>>::from::call
  17: proc_macro::bridge::closure::Closure<A,R>::call
             at src/libproc_macro/bridge/closure.rs:27
  18: proc_macro::bridge::client::Literal::typed_integer::{{closure}}
             at src/libproc_macro/bridge/client.rs:243
  19: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with::{{closure}}
             at src/libproc_macro/bridge/client.rs:334
  20: proc_macro::bridge::client::BridgeState::with::{{closure}}::{{closure}}
             at src/libproc_macro/bridge/client.rs:292
  21: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace
             at src/libproc_macro/bridge/scoped_cell.rs:74
  22: proc_macro::bridge::client::BridgeState::with::{{closure}}
             at src/libproc_macro/bridge/client.rs:290
  23: std::thread::local::LocalKey<T>::try_with
             at /rustc/826cb062a659f7b719a8a0ab1497a78229318aab/src/libstd/thread/local.rs:263
  24: std::thread::local::LocalKey<T>::with
             at /rustc/826cb062a659f7b719a8a0ab1497a78229318aab/src/libstd/thread/local.rs:239
  25: proc_macro::bridge::client::BridgeState::with
             at src/libproc_macro/bridge/client.rs:289
  26: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with
             at src/libproc_macro/bridge/client.rs:327
  27: proc_macro::bridge::client::Literal::typed_integer
             at src/libproc_macro/bridge/client.rs:236
  28: proc_macro::Literal::usize_suffixed
             at src/libproc_macro/lib.rs:942
  29: proc_macro2::imp::Literal::usize_suffixed
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.18/src/wrapper.rs:749
  30: proc_macro2::Literal::usize_suffixed
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.18/src/lib.rs:991
  31: <usize as quote::to_tokens::ToTokens>::to_tokens
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.7/src/to_tokens.rs:133
  32: strum_macros::macros::enum_iter::enum_iter_inner
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/strum_macros-0.18.0/src/macros/enum_iter.rs:55
  33: strum_macros::enum_iter
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/strum_macros-0.18.0/src/lib.rs:168
  34: core::ops::function::FnOnce::call_once
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:232
  35: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:407
  36: proc_macro::bridge::client::run_client::{{closure}}::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:375
  37: proc_macro::bridge::scoped_cell::ScopedCell<T>::set::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:79
  38: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:74
  39: proc_macro::bridge::scoped_cell::ScopedCell<T>::set
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:79
  40: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:323
  41: std::thread::local::LocalKey<T>::try_with
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/thread/local.rs:263
  42: std::thread::local::LocalKey<T>::with
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/thread/local.rs:239
  43: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:323
  44: proc_macro::bridge::client::run_client::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:368
  45: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:318
  46: std::panicking::try::do_call
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:297
  47: __rust_try
  48: std::panicking::try
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:274
  49: std::panic::catch_unwind
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:394
  50: proc_macro::bridge::client::run_client
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:367
  51: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:407
  52: ra_proc_macro_srv::proc_macro::bridge::server::run_server
  53: ra_proc_macro_srv::dylib::Expander::expand
  54: ra_proc_macro_srv::ProcMacroSrv::expand
  55: ra_proc_macro_srv::cli::run
  56: rust_analyzer::main
  57: std::rt::lang_start::{{closure}}
  58: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:52
  59: std::panicking::try::do_call
             at src/libstd/panicking.rs:297
  60: std::panicking::try
             at src/libstd/panicking.rs:274
  61: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  62: std::rt::lang_start_internal
             at src/libstd/rt.rs:51
  63: main
  64: __libc_start_main
  65: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ParseFloatError { kind: Invalid }', crates/ra_proc_macro_srv/src/rustc_server.rs:507:22
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1076
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1537
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   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:198
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:218
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:477
  11: rust_begin_unwind
             at src/libstd/panicking.rs:385
  12: core::panicking::panic_fmt
             at src/libcore/panicking.rs:86
  13: core::option::expect_none_failed
             at src/libcore/option.rs:1272
  14: <ra_proc_macro_srv::rustc_server::Rustc as ra_proc_macro_srv::proc_macro::bridge::server::Literal>::f32
  15: <ra_proc_macro_srv::proc_macro::bridge::server::Dispatcher<ra_proc_macro_srv::proc_macro::bridge::server::MarkedTypes<S>> as ra_proc_macro_srv::proc_macro::bridge::server::DispatcherTrait>::dispatch
  16: <ra_proc_macro_srv::proc_macro::bridge::closure::Closure<A,R> as core::convert::From<&mut F>>::from::call
  17: proc_macro::bridge::closure::Closure<A,R>::call
             at src/libproc_macro/bridge/closure.rs:27
  18: proc_macro::bridge::client::Literal::typed_integer::{{closure}}
             at src/libproc_macro/bridge/client.rs:243
  19: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with::{{closure}}
             at src/libproc_macro/bridge/client.rs:334
  20: proc_macro::bridge::client::BridgeState::with::{{closure}}::{{closure}}
             at src/libproc_macro/bridge/client.rs:292
  21: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace
             at src/libproc_macro/bridge/scoped_cell.rs:74
  22: proc_macro::bridge::client::BridgeState::with::{{closure}}
             at src/libproc_macro/bridge/client.rs:290
  23: std::thread::local::LocalKey<T>::try_with
             at /rustc/826cb062a659f7b719a8a0ab1497a78229318aab/src/libstd/thread/local.rs:263
  24: std::thread::local::LocalKey<T>::with
             at /rustc/826cb062a659f7b719a8a0ab1497a78229318aab/src/libstd/thread/local.rs:239
  25: proc_macro::bridge::client::BridgeState::with
             at src/libproc_macro/bridge/client.rs:289
  26: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with
             at src/libproc_macro/bridge/client.rs:327
  27: proc_macro::bridge::client::Literal::typed_integer
             at src/libproc_macro/bridge/client.rs:236
  28: proc_macro::Literal::usize_suffixed
             at src/libproc_macro/lib.rs:942
  29: proc_macro2::imp::Literal::usize_suffixed
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.18/src/wrapper.rs:749
  30: proc_macro2::Literal::usize_suffixed
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.18/src/lib.rs:991
  31: <usize as quote::to_tokens::ToTokens>::to_tokens
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.7/src/to_tokens.rs:133
  32: strum_macros::macros::enum_iter::enum_iter_inner
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/strum_macros-0.18.0/src/macros/enum_iter.rs:55
  33: strum_macros::enum_iter
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/strum_macros-0.18.0/src/lib.rs:168
  34: core::ops::function::FnOnce::call_once
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:232
  35: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:407
  36: proc_macro::bridge::client::run_client::{{closure}}::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:375
  37: proc_macro::bridge::scoped_cell::ScopedCell<T>::set::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:79
  38: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:74
  39: proc_macro::bridge::scoped_cell::ScopedCell<T>::set
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:79
  40: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:323
  41: std::thread::local::LocalKey<T>::try_with
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/thread/local.rs:263
  42: std::thread::local::LocalKey<T>::with
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/thread/local.rs:239
  43: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:323
  44: proc_macro::bridge::client::run_client::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:368
  45: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:318
  46: std::panicking::try::do_call
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:297
  47: __rust_try
  48: std::panicking::try
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:274
  49: std::panic::catch_unwind
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:394
  50: proc_macro::bridge::client::run_client
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:367
  51: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:407
  52: ra_proc_macro_srv::proc_macro::bridge::server::run_server
  53: ra_proc_macro_srv::dylib::Expander::expand
  54: ra_proc_macro_srv::ProcMacroSrv::expand
  55: ra_proc_macro_srv::cli::run
  56: rust_analyzer::main
  57: std::rt::lang_start::{{closure}}
  58: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:52
  59: std::panicking::try::do_call
             at src/libstd/panicking.rs:297
  60: std::panicking::try
             at src/libstd/panicking.rs:274
  61: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  62: std::rt::lang_start_internal
             at src/libstd/rt.rs:51
  63: main
  64: __libc_start_main
  65: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ParseFloatError { kind: Invalid }', crates/ra_proc_macro_srv/src/rustc_server.rs:507:22
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1076
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1537
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   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:198
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:218
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:477
  11: rust_begin_unwind
             at src/libstd/panicking.rs:385
  12: core::panicking::panic_fmt
             at src/libcore/panicking.rs:86
  13: core::option::expect_none_failed
             at src/libcore/option.rs:1272
  14: <ra_proc_macro_srv::rustc_server::Rustc as ra_proc_macro_srv::proc_macro::bridge::server::Literal>::f32
  15: <ra_proc_macro_srv::proc_macro::bridge::server::Dispatcher<ra_proc_macro_srv::proc_macro::bridge::server::MarkedTypes<S>> as ra_proc_macro_srv::proc_macro::bridge::server::DispatcherTrait>::dispatch
  16: <ra_proc_macro_srv::proc_macro::bridge::closure::Closure<A,R> as core::convert::From<&mut F>>::from::call
  17: proc_macro::bridge::closure::Closure<A,R>::call
             at src/libproc_macro/bridge/closure.rs:27
  18: proc_macro::bridge::client::Literal::typed_integer::{{closure}}
             at src/libproc_macro/bridge/client.rs:243
  19: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with::{{closure}}
             at src/libproc_macro/bridge/client.rs:334
  20: proc_macro::bridge::client::BridgeState::with::{{closure}}::{{closure}}
             at src/libproc_macro/bridge/client.rs:292
  21: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace
             at src/libproc_macro/bridge/scoped_cell.rs:74
  22: proc_macro::bridge::client::BridgeState::with::{{closure}}
             at src/libproc_macro/bridge/client.rs:290
  23: std::thread::local::LocalKey<T>::try_with
             at /rustc/826cb062a659f7b719a8a0ab1497a78229318aab/src/libstd/thread/local.rs:263
  24: std::thread::local::LocalKey<T>::with
             at /rustc/826cb062a659f7b719a8a0ab1497a78229318aab/src/libstd/thread/local.rs:239
  25: proc_macro::bridge::client::BridgeState::with
             at src/libproc_macro/bridge/client.rs:289
  26: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::with
             at src/libproc_macro/bridge/client.rs:327
  27: proc_macro::bridge::client::Literal::typed_integer
             at src/libproc_macro/bridge/client.rs:236
  28: proc_macro::Literal::usize_suffixed
             at src/libproc_macro/lib.rs:942
  29: proc_macro2::imp::Literal::usize_suffixed
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.18/src/wrapper.rs:749
  30: proc_macro2::Literal::usize_suffixed
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.18/src/lib.rs:991
  31: <usize as quote::to_tokens::ToTokens>::to_tokens
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.7/src/to_tokens.rs:133
  32: strum_macros::macros::enum_iter::enum_iter_inner
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/strum_macros-0.18.0/src/macros/enum_iter.rs:55
  33: strum_macros::enum_iter
             at /home/me/.cargo/registry/src/github.com-1ecc6299db9ec823/strum_macros-0.18.0/src/lib.rs:168
  34: core::ops::function::FnOnce::call_once
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs:232
  35: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:407
  36: proc_macro::bridge::client::run_client::{{closure}}::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:375
  37: proc_macro::bridge::scoped_cell::ScopedCell<T>::set::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:79
  38: proc_macro::bridge::scoped_cell::ScopedCell<T>::replace
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:74
  39: proc_macro::bridge::scoped_cell::ScopedCell<T>::set
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/scoped_cell.rs:79
  40: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:323
  41: std::thread::local::LocalKey<T>::try_with
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/thread/local.rs:263
  42: std::thread::local::LocalKey<T>::with
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/thread/local.rs:239
  43: proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:323
  44: proc_macro::bridge::client::run_client::{{closure}}
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:368
  45: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:318
  46: std::panicking::try::do_call
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:297
  47: __rust_try
  48: std::panicking::try
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panicking.rs:274
  49: std::panic::catch_unwind
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/panic.rs:394
  50: proc_macro::bridge::client::run_client
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:367
  51: proc_macro::bridge::client::Client<fn(proc_macro::TokenStream) .> proc_macro::TokenStream>::expand1::run
             at /home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libproc_macro/bridge/client.rs:407
  52: ra_proc_macro_srv::proc_macro::bridge::server::run_server
  53: ra_proc_macro_srv::dylib::Expander::expand
  54: ra_proc_macro_srv::ProcMacroSrv::expand
  55: ra_proc_macro_srv::cli::run
  56: rust_analyzer::main
  57: std::rt::lang_start::{{closure}}
  58: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:52
  59: std::panicking::try::do_call
             at src/libstd/panicking.rs:297
  60: std::panicking::try
             at src/libstd/panicking.rs:274
  61: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  62: std::rt::lang_start_internal
             at src/libstd/rt.rs:51
  63: main
  64: __libc_start_main
  65: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

cc @edwin0cheng