Skip to content

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

Closed
@matthiaskrgr

Description

@matthiaskrgr

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

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