Skip to content

Panic on relm macro with "there must be a else here" message #3741

Closed
@konchunas

Description

@konchunas

clippy 0.0.212 (1b89724 2019-01-15)

When using clippy on a project with #[widget] macro from "relm" crate I get the following panic:

thread 'rustc' panicked at 'there must be a `else` here', src/libcore/option.rs:1038:5
note: Some details are omitted, run with 'RUST_BACKTRACE=full' for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
             at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
   1: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:70
   2: std::panicking::default_hook::{{closure}}
             at src/libstd/sys_common/backtrace.rs:58
             at src/libstd/panicking.rs:200
   3: std::panicking::default_hook
             at src/libstd/panicking.rs:215
   4: rustc::util::common::panic_hook
   5: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:482
   6: std::panicking::continue_panic_fmt
             at src/libstd/panicking.rs:385
   7: rust_begin_unwind
             at src/libstd/panicking.rs:312
   8: core::panicking::panic_fmt
             at src/libcore/panicking.rs:85
   9: core::option::expect_failed
             at src/libcore/option.rs:1038
  10: <clippy_lints::formatting::Formatting as rustc::lint::EarlyLintPass>::check_expr
  11: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_expr
  12: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_block
  13: syntax::visit::walk_expr
  14: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_expr
  15: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_block
  16: syntax::visit::walk_expr
  17: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_expr
  18: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_local
  19: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_block
  20: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_fn
  21: syntax::visit::walk_impl_item
  22: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_impl_item
  23: syntax::visit::walk_item
  24: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_item
  25: <rustc::lint::context::EarlyContext<'a> as syntax::visit::Visitor<'a>>::visit_mod
  26: rustc::lint::context::check_ast_crate
  27: rustc::util::common::time
  28: rustc_driver::driver::phase_2_configure_and_expand
  29: rustc_driver::driver::compile_input
  30: rustc_driver::run_compiler_with_pool
  31: <scoped_tls::ScopedKey<T>>::set
  32: rustc_driver::run_compiler
  33: <scoped_tls::ScopedKey<T>>::set
query stack during panic:
end of query stack

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.33.0-nightly (c76f3c374 2019-01-18) running on x86_64-unknown-linux-gnu

note: compiler flags: -C debuginfo=2 -C incremental --crate-type bin

note: some of the compiler flags provided by cargo are hidden

Normal cargo build works just fine
I've created small project where this crash can be easily reproduced.
Here are repro steps:

git clone https://github.com/konchunas/clippy-relm-panic.git
cd clippy-relm-panic
RUST_BACKTRACE=1 cargo clippy

Thank you!

Metadata

Metadata

Assignees

Labels

I-ICEIssue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions