Closed
Description
Code
The following crate in the Pants project triggers an ICE on v1.50.0 but not on v1.49.0 when running cargo clippy
: https://github.com/pantsbuild/pants/tree/master/src/rust/engine/rule_graph
Meta
The ICE occurs in v1.50.0 and in a recent nightly. It does not occur v1.49.0.
rustc --version --verbose
:
rustc 1.50.0 (cb75ad5db 2021-02-10)
binary: rustc
commit-hash: cb75ad5db02783e8b0222fee363c5f63f7e2cf5b
commit-date: 2021-02-10
host: x86_64-apple-darwin
release: 1.50.0
Occurs for this version of nightly as well:
rustc 1.52.0-nightly (98f8cce6d 2021-02-25)
binary: rustc
commit-hash: 98f8cce6db6c6c6660eeffee2b3903104e547ecf
commit-date: 2021-02-25
host: x86_64-apple-darwin
release: 1.52.0-nightly
LLVM version: 11.0.1
Error output
Checking rule_graph v0.0.1 (/Users/tdyas/TC/pants/src/rust/engine/rule_graph)
error: internal compiler error: compiler/rustc_traits/src/normalize_erasing_regions.rs:43:32: could not fully normalize `std::collections::HashMap<<R as rules::Rule>::DependencyKey, std::vec::Vec<Entry<R>>>`
thread 'rustc' panicked at 'Box<Any>', compiler/rustc_errors/src/lib.rs:958:9
stack backtrace:
0: 0x10a7dd0d4 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h34f76b2ca42fab41
1: 0x10a841ecd - core::fmt::write::h8f13d857463c51c1
2: 0x10a7ce7c6 - std::io::Write::write_fmt::h0a6214ccb1a8468b
3: 0x10a7e0d39 - std::panicking::default_hook::{{closure}}::hb14d90e928578cc7
4: 0x10a7e08c0 - std::panicking::default_hook::h460969f1dc8f738d
5: 0x10252a586 - clippy_driver::ICE_HOOK::{{closure}}::{{closure}}::he499fdb1f86260cf
6: 0x10a7e151e - std::panicking::rust_panic_with_hook::h28bf9d6c3916221e
7: 0x107402321 - std::panicking::begin_panic::{{closure}}::h0e87840b5c6a9c59
8: 0x107402289 - std::sys_common::backtrace::__rust_end_short_backtrace::h8659a1b4220fd63a
9: 0x10783f2f1 - std::panicking::begin_panic::hc47dd84e1beec546
10: 0x107433d13 - rustc_errors::HandlerInner::bug::h6bbed7e088c34809
11: 0x107432327 - rustc_errors::Handler::bug::h69a183c778d5ab5c
12: 0x106e58f04 - rustc_middle::util::bug::opt_span_bug_fmt::{{closure}}::h65cee2a5516e95bd
13: 0x106e54a36 - rustc_middle::ty::context::tls::with_opt::{{closure}}::h3109336967579a63
14: 0x106e549f3 - rustc_middle::ty::context::tls::with_opt::h747ffbbb3f367dd7
15: 0x106e58e2b - rustc_middle::util::bug::opt_span_bug_fmt::h33901786874da521
16: 0x10781edbf - rustc_middle::util::bug::bug_fmt::hb55b8e744ef28c0f
17: 0x10513d21e - rustc_infer::infer::InferCtxtBuilder::enter::h2cfdf37c61932980
18: 0x10519eed7 - rustc_traits::normalize_erasing_regions::normalize_generic_arg_after_erasing_regions::h34a19adfa4ea8ccb
19: 0x10716276d - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::h668ad73b318e5986
20: 0x107057fb1 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::h8ae3bb2e2c13f68f
21: 0x106fad16e - rustc_data_structures::stack::ensure_sufficient_stack::hb580b2c1701cc3fe
22: 0x1071fe046 - rustc_query_system::query::plumbing::get_query_impl::h2c2ee510ebdf4d2d
23: 0x106eef03f - rustc_middle::ty::normalize_erasing_regions::<impl rustc_middle::ty::context::TyCtxt>::normalize_erasing_regions::hf7aca71b8acc2e7d
24: 0x1071c3211 - <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of::h659901a2d3cebc10
25: 0x106e6911b - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold::h22e1bedf3e5ce9c0
26: 0x106d26828 - <alloc::vec::Vec<T> as alloc::vec::SpecFromIter<T,I>>::from_iter::he4a23b1bf00774a8
27: 0x106e6a385 - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold::hab160f2b4ae62ed5
28: 0x106d100ad - <alloc::vec::Vec<T> as alloc::vec::SpecFromIter<T,I>>::from_iter::h0153584db5033da9
29: 0x1071b80b8 - rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt>::layout_raw_uncached::h03749ef38956bfe4
30: 0x1071b4eea - rustc_middle::ty::layout::layout_raw::h3a998d81f76ca997
31: 0x1071d6abf - rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::layout_raw>::compute::h0a7ff71a7a87282f
32: 0x10715deb8 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::h2341d60a3c8b007c
33: 0x107041c9d - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::h2aa608c9e9b260d6
34: 0x106fb2afb - rustc_data_structures::stack::ensure_sufficient_stack::he90b48f172d17b6b
35: 0x1072398e0 - rustc_query_system::query::plumbing::get_query_impl::h71e6b1cd20fc6dbe
36: 0x1071c32a7 - <rustc_middle::ty::layout::LayoutCx<rustc_middle::ty::context::TyCtxt> as rustc_target::abi::LayoutOf>::layout_of::h659901a2d3cebc10
37: 0x1069126a5 - <rustc_lint::context::LateContext as rustc_target::abi::LayoutOf>::layout_of::h7b61f1a020637c14
38: 0x10274a11a - <clippy_lints::zero_sized_map_values::ZeroSizedMapValues as rustc_lint::passes::LateLintPass>::check_ty::hdc4a67722d494acb
39: 0x10692c963 - <rustc_lint::late::LateLintPassObjects as rustc_lint::passes::LateLintPass>::check
_ty::h21ed627ebdadbe89
40: 0x102f1cbdf - rustc_hir::intravisit::walk_item::h2ae69716c8c2069e
41: 0x102f6810e - rustc_hir::intravisit::Visitor::visit_nested_item::h84d22f6cf02015e5
42: 0x102f1775d - rustc_hir::intravisit::walk_crate::h17661615033e32b9
43: 0x102f54001 - rustc_lint::late::late_lint_pass_crate::h2dafafeb69042f14
44: 0x102f5755d - rustc_session::utils::<impl rustc_session::session::Session>::time::h305d03b2a994fc40
45: 0x102fae795 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h792b8ac53a32a736
46: 0x102f59ecb - rustc_session::utils::<impl rustc_session::session::Session>::time::hf3082bae09b596ae
47: 0x102f8e9fb - rustc_interface::passes::analysis::h4f77077d0d32c92e
48: 0x102df830a - rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute::h751d24ab2e450beb
49: 0x102dfa1c4 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::he6976e5544ffecfa
50: 0x102d7c0ee - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::h88d3b296bfb5ed36
51: 0x102dc096e - rustc_data_structures::stack::ensure_sufficient_stack::hd0a9f62ff4f35515
52: 0x102d6a570 - rustc_query_system::query::plumbing::get_query_impl::h1fa86c7589ee7005
53: 0x102dfa5aa - rustc_interface::passes::QueryContext::enter::hdda9d64e1568ae83
54: 0x102dd65a1 - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::h23c3663acd2f252b
55: 0x102db58be - rustc_span::with_source_map::had6878a53046d568
56: 0x102dd7584 - rustc_interface::interface::create_compiler_and_run::he48253d83781cb39
57: 0x102dc1a84 - std::sys_common::backtrace::__rust_begin_short_backtrace::hfb8be6fd991a375d
58: 0x102d57c19 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h898af6dc0dda933c
59: 0x10a7ee5cd - std::sys::unix::thread::Thread::new::thread_start::he19012de44640be6
60: 0x7fff20533950 - __pthread_start
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 (cb75ad5d 2021-02-10)
query stack during panic:
#0 [normalize_generic_arg_after_erasing_regions] normalizing `std::collections::HashMap<<R as rules::Rule>::DependencyKey, std::vec::Vec<Entry<R>>>`
rust-lang/rust#1 [layout_raw] computing layout of `RuleEdges<R>`
rust-lang/rust#2 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to previous error