Skip to content

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

Closed

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

Activity

  1. added
    C-bugCategory: Clippy is not doing the correct thing
    I-ICEIssue: Clippy panicked, giving an Internal Compilation Error (ICE) ❄️
    on Jun 17, 2023
  2. matthiaskrgr commented on Jun 17, 2023

    @matthiaskrgr
    MemberAuthor

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

  3. matthiaskrgr commented on Jun 21, 2023

    @matthiaskrgr
    MemberAuthor

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

  4. Jarcho commented on Aug 3, 2024

    @Jarcho
    Contributor

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

  5. added a commit that references this issue on Dec 31, 2024
    1e0b782
  6. added a commit that references this issue on Dec 31, 2024
    c52740c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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