Skip to content

ICE with 1.47 #6143

Closed
Closed
@tylerhawkes

Description

@tylerhawkes

Code

fn main() {
    let r = R { repeat: 1 };
    // it is r.repeat() that causes the ICE
    println!("{}", r.repeat());
}

pub struct R {
  repeat: i16,
}

impl R {
  pub fn repeat(&self) -> i16 {
    self.repeat
  }
}

I'm running into this bug via some bindgen generated code it appears. Its parent module allows clippy::all and clippy::pedantic so it appears that clippy 1.47 is unusable on my project until this is fixed.

Meta

  • cargo clippy -V clippy 0.0.212 (18bf6b4 2020-10-07)
  • rustc -Vv:
 rustc 1.47.0 (18bf6b4f0 2020-10-07)
binary: rustc
commit-hash: 18bf6b4f01a6feaf7259ba7cdae58031af1b7b39
commit-date: 2020-10-07
host: x86_64-unknown-linux-gnu
release: 1.47.0
LLVM version: 11.0

Error output

thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 1', src/tools/clippy/clippy_lints/src/repeat_once.rs:44:93

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-clippy/issues/new

note: Clippy version: clippy 0.0.212 (18bf6b4 2020-10-07)

query stack during panic:
#0 [analysis] running analysis passes on this crate
end of query stack
Backtrace

stack backtrace:
   0:     0x7f7da6d66540 - std::backtrace_rs::backtrace::libunwind::trace::h577ea05e9ca4629a
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/../../backtrace/src/backtrace/libunwind.rs:96
   1:     0x7f7da6d66540 - std::backtrace_rs::backtrace::trace_unsynchronized::h50b9b72b84c7dd56
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/../../backtrace/src/backtrace/mod.rs:66
   2:     0x7f7da6d66540 - std::sys_common::backtrace::_print_fmt::h6541cf9823837fac
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:79
   3:     0x7f7da6d66540 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf64fbff071026df5
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:58
   4:     0x7f7da6dd4f4c - core::fmt::write::h9ddafa4860d8adff
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/fmt/mod.rs:1082
   5:     0x7f7da6d58867 - std::io::Write::write_fmt::h1d2ee292d2b65481
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/io/mod.rs:1514
   6:     0x7f7da6d6b200 - std::sys_common::backtrace::_print::ha25f9ff5080d886d
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:61
   7:     0x7f7da6d6b200 - std::sys_common::backtrace::print::h213e8aa8dc5405c0
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:48
   8:     0x7f7da6d6b200 - std::panicking::default_hook::{{closure}}::h6482fae49ef9d963
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:200
   9:     0x7f7da6d6af4c - std::panicking::default_hook::he30ad7589e0970f9
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:219
  10:     0x557213931971 - clippy_driver::report_clippy_ice::h2ed8a254b860d8f2
  11:     0x7f7da6d6b9a8 - std::panicking::rust_panic_with_hook::haa1ed36ada4ffb03
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:573
  12:     0x7f7da6d6b559 - std::panicking::begin_panic_handler::{{closure}}::h7001af1bb21aeaeb
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:476
  13:     0x7f7da6d669cc - std::sys_common::backtrace::__rust_end_short_backtrace::h39910f557f5f2367
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys_common/backtrace.rs:153
  14:     0x7f7da6d6b519 - rust_begin_unwind
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/panicking.rs:475
  15:     0x7f7da6dd19d1 - core::panicking::panic_fmt::h4e2659771ebc78eb
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/panicking.rs:85
  16:     0x7f7da6dd1992 - core::panicking::panic_bounds_check::h2e8c50d2fb4877c0
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/core/src/panicking.rs:62
  17:     0x557213963acb - <clippy_lints::repeat_once::RepeatOnce as rustc_lint::passes::LateLintPass>::check_expr::h52fafb3271e0d911
  18:     0x7f7dabce4d53 - <rustc_lint::late::LateLintPassObjects as rustc_lint::passes::LateLintPass>::check_expr::hd83a5b1b97bf9278
  19:     0x7f7da7cb6822 - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_expr::h609ec79b83d8238c
  20:     0x7f7da7c45597 - rustc_hir::intravisit::walk_expr::haa842e94290c707b
  21:     0x7f7da7cb682d - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_expr::h609ec79b83d8238c
  22:     0x7f7da7c459a2 - rustc_hir::intravisit::walk_expr::haa842e94290c707b
  23:     0x7f7da7cb682d - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_expr::h609ec79b83d8238c
  24:     0x7f7da7c4541f - rustc_hir::intravisit::walk_expr::haa842e94290c707b
  25:     0x7f7da7cb682d - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_expr::h609ec79b83d8238c
  26:     0x7f7da7c4575a - rustc_hir::intravisit::walk_expr::haa842e94290c707b
  27:     0x7f7da7cb682d - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_expr::h609ec79b83d8238c
  28:     0x7f7da7cb7190 - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_nested_body::h302b4575a1186d6b
  29:     0x7f7da7cb80af - <rustc_lint::late::LateContextAndPass<T> as rustc_hir::intravisit::Visitor>::visit_fn::he744336b89e2e301
  30:     0x7f7da7c41520 - rustc_hir::intravisit::walk_impl_item::he9956649714865e7
  31:     0x7f7da7cba762 - rustc_hir::intravisit::Visitor::visit_nested_impl_item::hb408907d8a4fde07
  32:     0x7f7da7c4682b - rustc_hir::intravisit::walk_item::h071cc9ec2e9589d3
  33:     0x7f7da7cb9b03 - rustc_hir::intravisit::Visitor::visit_nested_item::hfc9381c7e53be5fa
  34:     0x7f7da7c4602d - rustc_hir::intravisit::walk_item::h071cc9ec2e9589d3
  35:     0x7f7da7cb9b03 - rustc_hir::intravisit::Visitor::visit_nested_item::hfc9381c7e53be5fa
  36:     0x7f7da7c4602d - rustc_hir::intravisit::walk_item::h071cc9ec2e9589d3
  37:     0x7f7da7cb9b03 - rustc_hir::intravisit::Visitor::visit_nested_item::hfc9381c7e53be5fa
  38:     0x7f7da7c4013e - rustc_hir::intravisit::walk_crate::h5bbbc7259a4e1608
  39:     0x7f7da7ca3734 - rustc_lint::late::late_lint_pass_crate::hd6e9c4cf569820c8
  40:     0x7f7da7ca324c - rustc_lint::late::late_lint_crate::hd9a9fa2d97dda9d6
  41:     0x7f7da7cdc155 - rustc_data_structures::sync::join::hff6280a30a8d7599
  42:     0x7f7da7cd72a0 - rustc_session::utils::<impl rustc_session::session::Session>::time::h20fda3afa70f5804
  43:     0x7f7da7d2b415 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h1b9fd5fde69513f7
  44:     0x7f7da7cd8698 - rustc_session::utils::<impl rustc_session::session::Session>::time::h84985399d2763daa
  45:     0x7f7da7d298de - rustc_interface::passes::analysis::h53a03ad3e31afdf2
  46:     0x7f7da79edc2b - rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute::hc51a2943f437e93c
  47:     0x7f7da79509b8 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::ha5bb145fe11a8e51
  48:     0x7f7da79d1747 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::hf7835e47e05c0223
  49:     0x7f7da79e20d3 - rustc_data_structures::stack::ensure_sufficient_stack::h85807420ed8bd178
  50:     0x7f7da7978e33 - rustc_query_system::query::plumbing::get_query_impl::h980b5f2faab2c24e
  51:     0x7f7da79eeffa - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::h36e3889d2dd335ca
  52:     0x7f7da7982f27 - rustc_span::with_source_map::h917ff6a1ba310be6
  53:     0x7f7da79f0513 - rustc_interface::interface::create_compiler_and_run::h66fad517fe94cf9c
  54:     0x7f7da79ce9fa - scoped_tls::ScopedKey<T>::set::h6552d51750c417dd
  55:     0x7f7da79e3957 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9be1ba637b3b1d4f
  56:     0x7f7da796cdae - core::ops::function::FnOnce::call_once{{vtable.shim}}::h35e090da7a3676a1
  57:     0x7f7da6d7af5a - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h670c50864ac2cb92
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/alloc/src/boxed.rs:1042
  58:     0x7f7da6d7af5a - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h2511952749086d81
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/alloc/src/boxed.rs:1042
  59:     0x7f7da6d7af5a - std::sys::unix::thread::Thread::new::thread_start::h5ad4ddffe24373a8
                               at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39/library/std/src/sys/unix/thread.rs:87
  60:     0x7f7da6cb1432 - start_thread
  61:     0x7f7da6a7e9d3 - __clone
  62:                0x0 - <unknown>

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: Clippy is not doing the correct thingI-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