Closed
Description
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>