Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICE: asked to assemble constituent types of unexpected type: Binder(Foo, []) #10972

Open
matthiaskrgr opened this issue Jun 17, 2023 · 3 comments
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@matthiaskrgr
Copy link
Member

matthiaskrgr commented Jun 17, 2023

Summary

#![feature(type_alias_impl_trait)]

use std::fmt::Debug;
type Foo = impl Debug;
const FOO2: Foo = 22_u32;

clippy-driver 2.rs --crate-type lib

Version

rustc 1.72.0-nightly (1d7d82472 2023-06-17)
binary: rustc
commit-hash: 1d7d82472617a4a0fea59c7e239c8a48c8ac5c34
commit-date: 2023-06-17
host: x86_64-unknown-linux-gnu
release: 1.72.0-nightly
LLVM version: 16.0.5

Error output

Backtrace

error: internal compiler error: compiler/rustc_trait_selection/src/traits/select/mod.rs:2320:17: asked to assemble constituent types of unexpected type: Binder(Foo, [])

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/compiler/rustc_errors/src/lib.rs:1650:9
stack backtrace:
 0:     0x7f806bb68821 - std::backtrace_rs::backtrace::libunwind::trace::h6e3584f9aa263648
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
 1:     0x7f806bb68821 - std::backtrace_rs::backtrace::trace_unsynchronized::h7cba45a2d56b3723
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
 2:     0x7f806bb68821 - std::sys_common::backtrace::_print_fmt::hb3e5f2b800058c47
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/sys_common/backtrace.rs:65:5
 3:     0x7f806bb68821 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc6fcd56f05592786
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/sys_common/backtrace.rs:44:22
 4:     0x7f806bbc9b2f - core::fmt::rt::Argument::fmt::hb8b6762d96a2930c
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/core/src/fmt/rt.rs:138:9
 5:     0x7f806bbc9b2f - core::fmt::write::ha824b1be2c398991
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/core/src/fmt/mod.rs:1094:21
 6:     0x7f806bb5ba31 - std::io::Write::write_fmt::h4bbc557c498e18be
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/io/mod.rs:1713:15
 7:     0x7f806bb68635 - std::sys_common::backtrace::_print::hb6a2afc924d1ac9a
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/sys_common/backtrace.rs:47:5
 8:     0x7f806bb68635 - std::sys_common::backtrace::print::h39a60e9b1dd2b988
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/sys_common/backtrace.rs:34:9
 9:     0x7f806bb6b317 - std::panicking::default_hook::{{closure}}::hf1636ea70b88baf6
10:     0x7f806bb6b104 - std::panicking::default_hook::h25db0e741a15cb6c
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/panicking.rs:288:9
11:     0x7f806edc105b - <rustc_driver_impl[9fb98086b5dc1b8]::install_ice_hook::{closure#0} as core[5a025f5ac19a3684]::ops::function::FnOnce<(&core[5a025f5ac19a3684]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
12:     0x7f806bb6ba5d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb67fc0de76dc4685
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/alloc/src/boxed.rs:1999:9
13:     0x7f806bb6ba5d - std::panicking::rust_panic_with_hook::h6c10fd1f40066f99
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/panicking.rs:709:13
14:     0x7f806f2c21b1 - std[5e6a7ab4ec51e2fa]::panicking::begin_panic::<rustc_errors[db6e693a4d78f721]::ExplicitBug>::{closure#0}
15:     0x7f806f2c0e06 - std[5e6a7ab4ec51e2fa]::sys_common::backtrace::__rust_end_short_backtrace::<std[5e6a7ab4ec51e2fa]::panicking::begin_panic<rustc_errors[db6e693a4d78f721]::ExplicitBug>::{closure#0}, !>
16:     0x7f806f3572a6 - std[5e6a7ab4ec51e2fa]::panicking::begin_panic::<rustc_errors[db6e693a4d78f721]::ExplicitBug>
17:     0x7f806f2bdbd4 - <rustc_errors[db6e693a4d78f721]::HandlerInner>::bug::<alloc[31842ca5441cdb56]::string::String>
18:     0x7f806f2bda56 - <rustc_errors[db6e693a4d78f721]::Handler>::bug::<alloc[31842ca5441cdb56]::string::String>
19:     0x7f806f31142c - rustc_middle[c2d4873b804b2cf0]::util::bug::opt_span_bug_fmt::<rustc_span[7bbc48c8a570ee79]::span_encoding::Span>::{closure#0}
20:     0x7f806f30e2ca - rustc_middle[c2d4873b804b2cf0]::ty::context::tls::with_opt::<rustc_middle[c2d4873b804b2cf0]::util::bug::opt_span_bug_fmt<rustc_span[7bbc48c8a570ee79]::span_encoding::Span>::{closure#0}, !>::{closure#0}
21:     0x7f806f30e29a - rustc_middle[c2d4873b804b2cf0]::ty::context::tls::with_context_opt::<rustc_middle[c2d4873b804b2cf0]::ty::context::tls::with_opt<rustc_middle[c2d4873b804b2cf0]::util::bug::opt_span_bug_fmt<rustc_span[7bbc48c8a570ee79]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
22:     0x7f806d04f89d - rustc_middle[c2d4873b804b2cf0]::util::bug::bug_fmt
23:     0x7f806cfc2409 - <rustc_trait_selection[4e524418529800ad]::traits::select::SelectionContext>::confirm_candidate
24:     0x7f806d71dc95 - <rustc_trait_selection[4e524418529800ad]::traits::select::SelectionContext>::evaluate_stack
25:     0x7f806dbeed22 - <rustc_trait_selection[4e524418529800ad]::traits::select::SelectionContext>::evaluate_predicate_recursively
26:     0x7f806d8c63a4 - rustc_traits[dc642ba4683ad1c5]::evaluate_obligation::evaluate_obligation
27:     0x7f806cdd8ce2 - rustc_query_impl[7260f550d3fae5ad]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7260f550d3fae5ad]::query_impl::evaluate_obligation::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c2d4873b804b2cf0]::query::erase::Erased<[u8; 2usize]>>
28:     0x7f806d288879 - rustc_query_system[fd595a8868fcd518]::query::plumbing::try_execute_query::<rustc_query_impl[7260f550d3fae5ad]::DynamicConfig<rustc_query_system[fd595a8868fcd518]::query::caches::DefaultCache<rustc_middle[c2d4873b804b2cf0]::infer::canonical::Canonical<rustc_middle[c2d4873b804b2cf0]::ty::ParamEnvAnd<rustc_middle[c2d4873b804b2cf0]::ty::Predicate>>, rustc_middle[c2d4873b804b2cf0]::query::erase::Erased<[u8; 2usize]>>, false, false, false>, rustc_query_impl[7260f550d3fae5ad]::plumbing::QueryCtxt, false>
29:     0x7f806d28850c - rustc_query_impl[7260f550d3fae5ad]::query_impl::evaluate_obligation::get_query_non_incr::__rust_end_short_backtrace
30:     0x7f806d7cbed8 - rustc_trait_selection[4e524418529800ad]::traits::type_known_to_meet_bound_modulo_regions
31:     0x7f806d7ca248 - rustc_ty_utils[f36d30a9cf7df766]::common_traits::is_item_raw
32:     0x7f806d29dc14 - rustc_query_impl[7260f550d3fae5ad]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7260f550d3fae5ad]::query_impl::is_freeze_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c2d4873b804b2cf0]::query::erase::Erased<[u8; 1usize]>>
33:     0x7f806d29dbf1 - <rustc_query_impl[7260f550d3fae5ad]::query_impl::is_freeze_raw::dynamic_query::{closure#2} as core[5a025f5ac19a3684]::ops::function::FnOnce<(rustc_middle[c2d4873b804b2cf0]::ty::context::TyCtxt, rustc_middle[c2d4873b804b2cf0]::ty::ParamEnvAnd<rustc_middle[c2d4873b804b2cf0]::ty::Ty>)>>::call_once
34:     0x7f806d2ee343 - rustc_query_system[fd595a8868fcd518]::query::plumbing::try_execute_query::<rustc_query_impl[7260f550d3fae5ad]::DynamicConfig<rustc_query_system[fd595a8868fcd518]::query::caches::DefaultCache<rustc_middle[c2d4873b804b2cf0]::ty::ParamEnvAnd<rustc_middle[c2d4873b804b2cf0]::ty::Ty>, rustc_middle[c2d4873b804b2cf0]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7260f550d3fae5ad]::plumbing::QueryCtxt, false>
35:     0x7f806e732ba0 - rustc_query_impl[7260f550d3fae5ad]::query_impl::is_freeze_raw::get_query_non_incr::__rust_end_short_backtrace
36:     0x7f806d34bbd7 - <rustc_middle[c2d4873b804b2cf0]::ty::Ty>::is_freeze
37:     0x562da36a0f6a - <clippy_lints[3c4c1e5f679fd7bd]::non_copy_const::NonCopyConst as rustc_lint[9abc2af9d3bbe16a]::passes::LateLintPass>::check_item
38:     0x7f806f18d6f3 - <rustc_lint[9abc2af9d3bbe16a]::late::RuntimeCombinedLateLintPass as rustc_lint[9abc2af9d3bbe16a]::passes::LateLintPass>::check_item
39:     0x7f806f17cacc - <rustc_lint[9abc2af9d3bbe16a]::late::LateContextAndPass<rustc_lint[9abc2af9d3bbe16a]::late::RuntimeCombinedLateLintPass> as rustc_hir[f367e6571a79851d]::intravisit::Visitor>::visit_nested_item
40:     0x7f806f146168 - rustc_hir[f367e6571a79851d]::intravisit::walk_mod::<rustc_lint[9abc2af9d3bbe16a]::late::LateContextAndPass<rustc_lint[9abc2af9d3bbe16a]::late::RuntimeCombinedLateLintPass>>
41:     0x7f806e1d997e - rustc_lint[9abc2af9d3bbe16a]::late::late_lint_crate::<rustc_lint[9abc2af9d3bbe16a]::BuiltinCombinedLateLintPass>
42:     0x7f806e1d8828 - <rustc_session[5d8f1134011332b9]::session::Session>::time::<(), rustc_lint[9abc2af9d3bbe16a]::late::check_crate<rustc_lint[9abc2af9d3bbe16a]::BuiltinCombinedLateLintPass, rustc_interface[75da62af7afad68]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
43:     0x7f806e1d86b3 - <rustc_session[5d8f1134011332b9]::session::Session>::time::<(), rustc_interface[75da62af7afad68]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
44:     0x7f806e1d81ef - <core[5a025f5ac19a3684]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[75da62af7afad68]::passes::analysis::{closure#5}::{closure#1}> as core[5a025f5ac19a3684]::ops::function::FnOnce<()>>::call_once
45:     0x7f806e1d7bf0 - <rustc_session[5d8f1134011332b9]::session::Session>::time::<(), rustc_interface[75da62af7afad68]::passes::analysis::{closure#5}>
46:     0x7f806e1d58b7 - rustc_interface[75da62af7afad68]::passes::analysis
47:     0x7f806e23d1aa - rustc_query_impl[7260f550d3fae5ad]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[7260f550d3fae5ad]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[c2d4873b804b2cf0]::query::erase::Erased<[u8; 1usize]>>
48:     0x7f806e23d199 - <rustc_query_impl[7260f550d3fae5ad]::query_impl::analysis::dynamic_query::{closure#2} as core[5a025f5ac19a3684]::ops::function::FnOnce<(rustc_middle[c2d4873b804b2cf0]::ty::context::TyCtxt, ())>>::call_once
49:     0x7f806e457ae8 - rustc_query_system[fd595a8868fcd518]::query::plumbing::try_execute_query::<rustc_query_impl[7260f550d3fae5ad]::DynamicConfig<rustc_query_system[fd595a8868fcd518]::query::caches::SingleCache<rustc_middle[c2d4873b804b2cf0]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[7260f550d3fae5ad]::plumbing::QueryCtxt, false>
50:     0x7f806e4578c7 - rustc_query_impl[7260f550d3fae5ad]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
51:     0x7f806e2f4ca5 - <rustc_middle[c2d4873b804b2cf0]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[9fb98086b5dc1b8]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>>
52:     0x7f806e2f3c06 - rustc_span[7bbc48c8a570ee79]::set_source_map::<core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>, rustc_interface[75da62af7afad68]::interface::run_compiler<core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>, rustc_driver_impl[9fb98086b5dc1b8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
53:     0x7f806e2ec3f9 - <scoped_tls[5be461245172b0fd]::ScopedKey<rustc_span[7bbc48c8a570ee79]::SessionGlobals>>::set::<rustc_interface[75da62af7afad68]::interface::run_compiler<core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>, rustc_driver_impl[9fb98086b5dc1b8]::run_compiler::{closure#1}>::{closure#0}, core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>>
54:     0x7f806e2eb9f6 - std[5e6a7ab4ec51e2fa]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[75da62af7afad68]::util::run_in_thread_pool_with_globals<rustc_interface[75da62af7afad68]::interface::run_compiler<core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>, rustc_driver_impl[9fb98086b5dc1b8]::run_compiler::{closure#1}>::{closure#0}, core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>>
55:     0x7f806e2eb7a5 - <<std[5e6a7ab4ec51e2fa]::thread::Builder>::spawn_unchecked_<rustc_interface[75da62af7afad68]::util::run_in_thread_pool_with_globals<rustc_interface[75da62af7afad68]::interface::run_compiler<core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>, rustc_driver_impl[9fb98086b5dc1b8]::run_compiler::{closure#1}>::{closure#0}, core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[5a025f5ac19a3684]::result::Result<(), rustc_span[7bbc48c8a570ee79]::ErrorGuaranteed>>::{closure#1} as core[5a025f5ac19a3684]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
56:     0x7f806bb75f55 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3b57fe0fe8253eda
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/alloc/src/boxed.rs:1985:9
57:     0x7f806bb75f55 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6eac2c7c988070fa
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/alloc/src/boxed.rs:1985:9
58:     0x7f806bb75f55 - std::sys::unix::thread::Thread::new::thread_start::h8d73f1104f34aa7b
                             at /rustc/1d7d82472617a4a0fea59c7e239c8a48c8ac5c34/library/std/src/sys/unix/thread.rs:108:17
59:     0x7f806b82244b - <unknown>
60:     0x7f806b8a5e40 - <unknown>
61:                0x0 - <unknown>

note: we would appreciate a bug report: https://github.com/rust-lang/rust-clippy/issues/new

note: rustc 1.72.0-nightly (1d7d82472 2023-06-17) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib

query stack during panic:
#0 [evaluate_obligation] evaluating trait selection obligation `Foo: core::marker::Freeze`
#1 [is_freeze_raw] computing whether `Foo` is freeze
#2 [analysis] running analysis passes on this crate
end of query stack
note: Clippy version: clippy 0.1.72 (1d7d824 2023-06-17)

error: aborting due to previous error; 2 warnings emitted

@matthiaskrgr matthiaskrgr added C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️ labels Jun 17, 2023
@matthiaskrgr
Copy link
Member Author

probably related to rust-lang/rust#112731 but doesnt need debuginfo=2 to crash

@matthiaskrgr
Copy link
Member Author

Looks like rust-lang/rust#112777 did not fix this :(

@Jarcho
Copy link
Contributor

Jarcho commented Aug 3, 2024

This doesn't seem to occur on 2024-08-02

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Clippy is not doing the correct thing I-ICE Issue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

No branches or pull requests

2 participants