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

Trait alias: Add trait + dyn causes compiler panic #106238

Closed
jonaspleyer opened this issue Dec 29, 2022 · 1 comment · Fixed by #107614
Closed

Trait alias: Add trait + dyn causes compiler panic #106238

jonaspleyer opened this issue Dec 29, 2022 · 1 comment · Fixed by #107614
Labels
C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@jonaspleyer
Copy link
Contributor

jonaspleyer commented Dec 29, 2022

Code

This problem resulted from the aim to store a Trait Object with generics in another object. When using the dyn keyword to store the trait object, the compiler panics, but only when having used a trait alias in defining the trait. If the trait is implemented in a standard (stable complying) manner, compilation succedes.

Here is a MWE of a compiler-panic version and a compiling version. This suggests that the used trait alias might be responsible. It seems that the Rust compiler does something different than just syntactic replacements when compiling a trait alias.
https://play.rust-lang.org/?version=nightly&mode=release&edition=2021&gist=05f0dd96c14a4f5ff5a301b21b006be4

I am still a beginner when it comes to Rust so any feedback is highly appreciated!

#![feature(trait_alias)]
use core::ops::Add;

pub trait DoSome<T> {}

// Option 1 - Compiler panic
pub trait Cell<T: Add<T, Output=T>> = DoSome<T>;

// Option 2 - Compiles
// pub trait Cell<T: Add<T, Output=T>>: DoSome<T> {}
// impl<T,A> Cell<T> for A
// where
//     T: Add<T,Output=T>,
//     A: DoSome<T>,
// {}

struct _Container<T> {
    pub cells: dyn Cell<T>,
}


fn main() {}

Meta

Since the trait alias feature is nightly only, this compiler was only tested.

rustc --version --verbose:

rustc 1.68.0-nightly (92c1937a9 2022-12-27)
binary: rustc
commit-hash: 92c1937a90e5b6f20fa6e87016d6869da363972e
commit-date: 2022-12-27
host: x86_64-unknown-linux-gnu
release: 1.68.0-nightly
LLVM version: 15.0.6

Error output

   Compiling playground v0.0.1 (/playground)
thread 'rustc' panicked at 'assertion failed: `(left == right)`
  left: `T`,
 right: `FreshTy(0)`', compiler/rustc_hir_analysis/src/astconv/mod.rs:1510:17
stack backtrace:
   0:     0x7fd5f64ee3da - std::backtrace_rs::backtrace::libunwind::trace::hd9920c45cab02727
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fd5f64ee3da - std::backtrace_rs::backtrace::trace_unsynchronized::h0e8ba232432f278b
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fd5f64ee3da - std::sys_common::backtrace::_print_fmt::h70b1bf152d50d826
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fd5f64ee3da - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h0f8a00c5ac0ea98c
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fd5f655162e - core::fmt::write::h75194d37b0340e77
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/core/src/fmt/mod.rs:1208:17
   5:     0x7fd5f64de885 - std::io::Write::write_fmt::h019baaeffa3c233d
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/io/mod.rs:1682:15
   6:     0x7fd5f64ee1a5 - std::sys_common::backtrace::_print::hd2cb40128730a76d
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fd5f64ee1a5 - std::sys_common::backtrace::print::h30c90b179f5588ff
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fd5f64f0f6f - std::panicking::default_hook::{{closure}}::hb4605418c1ac9dde
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/panicking.rs:267:22
   9:     0x7fd5f64f0cab - std::panicking::default_hook::h911627d2c5874d29
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/panicking.rs:286:9
  10:     0x7fd5f97f5e4f - rustc_driver[be31376d096510e8]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fd5f64f17ad - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h30886b880f16ecd7
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/alloc/src/boxed.rs:2032:9
  12:     0x7fd5f64f17ad - std::panicking::rust_panic_with_hook::h7c2b44024a401155
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/panicking.rs:692:13
  13:     0x7fd5f64f1529 - std::panicking::begin_panic_handler::{{closure}}::h8e64ae5b7bafe3c0
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/panicking.rs:579:13
  14:     0x7fd5f64ee88c - std::sys_common::backtrace::__rust_end_short_backtrace::hd43ee2e6b4a0d8d6
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/sys_common/backtrace.rs:137:18
  15:     0x7fd5f64f1232 - rust_begin_unwind
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/panicking.rs:575:5
  16:     0x7fd5f654e013 - core::panicking::panic_fmt::hfd723e1f10b23e9d
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/core/src/panicking.rs:64:14
  17:     0x7fd5f654e40f - core::panicking::assert_failed_inner::h43b7b0de29dad9f3
  18:     0x7fd5f99261ec - core[468623a6da7d9ec9]::panicking::assert_failed::<rustc_middle[f940356e05fab334]::ty::Ty, rustc_middle[f940356e05fab334]::ty::Ty>
  19:     0x7fd5f86840a0 - <rustc_middle[f940356e05fab334]::ty::sty::Binder<rustc_middle[f940356e05fab334]::ty::ProjectionPredicate>>::map_bound::<<dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#13}::{closure#0}, rustc_middle[f940356e05fab334]::ty::sty::ExistentialProjection>
  20:     0x7fd5f8683e24 - <core[468623a6da7d9ec9]::iter::adapters::chain::Chain<core[468623a6da7d9ec9]::iter::adapters::chain::Chain<core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::slice::iter::Iter<rustc_trait_selection[2eda08b4c5fdc05b]::traits::util::TraitAliasExpansionInfo>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#12}>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#14}>, core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::slice::iter::Iter<(rustc_middle[f940356e05fab334]::ty::sty::Binder<rustc_middle[f940356e05fab334]::ty::ProjectionPredicate>, rustc_span[414a16377e6cb62b]::span_encoding::Span)>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#13}>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#16}>>, core[468623a6da7d9ec9]::iter::adapters::map::Map<alloc[c40375f0f7ff5c91]::vec::into_iter::IntoIter<rustc_trait_selection[2eda08b4c5fdc05b]::traits::util::TraitAliasExpansionInfo>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#15}>> as core[468623a6da7d9ec9]::iter::traits::iterator::Iterator>::next
  21:     0x7fd5f86837a8 - <smallvec[8f35afdb4c070a9c]::SmallVec<[rustc_middle[f940356e05fab334]::ty::sty::Binder<rustc_middle[f940356e05fab334]::ty::sty::ExistentialPredicate>; 8usize]> as core[468623a6da7d9ec9]::iter::traits::collect::Extend<rustc_middle[f940356e05fab334]::ty::sty::Binder<rustc_middle[f940356e05fab334]::ty::sty::ExistentialPredicate>>>::extend::<core[468623a6da7d9ec9]::iter::adapters::chain::Chain<core[468623a6da7d9ec9]::iter::adapters::chain::Chain<core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::slice::iter::Iter<rustc_trait_selection[2eda08b4c5fdc05b]::traits::util::TraitAliasExpansionInfo>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#12}>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#14}>, core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::iter::adapters::map::Map<core[468623a6da7d9ec9]::slice::iter::Iter<(rustc_middle[f940356e05fab334]::ty::sty::Binder<rustc_middle[f940356e05fab334]::ty::ProjectionPredicate>, rustc_span[414a16377e6cb62b]::span_encoding::Span)>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#13}>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#16}>>, core[468623a6da7d9ec9]::iter::adapters::map::Map<alloc[c40375f0f7ff5c91]::vec::into_iter::IntoIter<rustc_trait_selection[2eda08b4c5fdc05b]::traits::util::TraitAliasExpansionInfo>, <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref::{closure#15}>>>
  22:     0x7fd5f867f202 - <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::conv_object_ty_poly_trait_ref
  23:     0x7fd5f8655895 - <dyn rustc_hir_analysis[9ee823d6a4dae130]::astconv::AstConv>::ast_ty_to_ty_inner::{closure#0}
  24:     0x7fd5f8fe8915 - rustc_hir_analysis[9ee823d6a4dae130]::collect::type_of::type_of
  25:     0x7fd5f81970c6 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::type_of, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  26:     0x7fd5f8d37911 - rustc_hir_analysis[9ee823d6a4dae130]::outlives::implicit_infer::infer_predicates
  27:     0x7fd5f8d36bc6 - rustc_hir_analysis[9ee823d6a4dae130]::outlives::inferred_outlives_crate
  28:     0x7fd5f8fded2b - rustc_query_system[5425389c485e711a]::query::plumbing::try_execute_query::<rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_query_system[5425389c485e711a]::query::caches::ArenaCache<(), rustc_middle[f940356e05fab334]::ty::CratePredicatesMap>>
  29:     0x7fd5f8fdea10 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::inferred_outlives_crate, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  30:     0x7fd5f80adad9 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::inferred_outlives_of, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  31:     0x7fd5f81cc64b - rustc_hir_analysis[9ee823d6a4dae130]::collect::predicates_defined_on
  32:     0x7fd5f7e315d7 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::predicates_defined_on, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  33:     0x7fd5f8142232 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::predicates_of, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  34:     0x7fd5f8141a53 - <rustc_query_impl[c6ef26a2c565c2a5]::Queries as rustc_middle[f940356e05fab334]::ty::query::QueryEngine>::predicates_of
  35:     0x7fd5f8135347 - rustc_hir_analysis[9ee823d6a4dae130]::collect::convert_item
  36:     0x7fd5f812f766 - <rustc_middle[f940356e05fab334]::hir::map::Map>::visit_item_likes_in_module::<rustc_hir_analysis[9ee823d6a4dae130]::collect::CollectItemTypesVisitor>
  37:     0x7fd5f812f55c - rustc_hir_analysis[9ee823d6a4dae130]::collect::collect_mod_item_types
  38:     0x7fd5f8395700 - rustc_query_system[5425389c485e711a]::query::plumbing::try_execute_query::<rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_query_system[5425389c485e711a]::query::caches::VecCache<rustc_span[414a16377e6cb62b]::def_id::LocalDefId, ()>>
  39:     0x7fd5f8c04b43 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::collect_mod_item_types, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  40:     0x7fd5f7c93ea5 - <rustc_middle[f940356e05fab334]::hir::map::Map>::for_each_module::<rustc_hir_analysis[9ee823d6a4dae130]::check_crate::{closure#0}::{closure#0}::{closure#0}>
  41:     0x7fd5f7c93678 - <rustc_session[484a5cd1f43b0798]::session::Session>::track_errors::<rustc_hir_analysis[9ee823d6a4dae130]::check_crate::{closure#0}, ()>
  42:     0x7fd5f7c9336f - rustc_hir_analysis[9ee823d6a4dae130]::check_crate
  43:     0x7fd5f7c9308b - rustc_interface[e3f740b58bbe8d54]::passes::analysis
  44:     0x7fd5f8fb01c7 - rustc_query_system[5425389c485e711a]::query::plumbing::try_execute_query::<rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_query_system[5425389c485e711a]::query::caches::DefaultCache<(), core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>>
  45:     0x7fd5f8fafec0 - rustc_query_system[5425389c485e711a]::query::plumbing::get_query::<rustc_query_impl[c6ef26a2c565c2a5]::queries::analysis, rustc_query_impl[c6ef26a2c565c2a5]::plumbing::QueryCtxt, rustc_middle[f940356e05fab334]::dep_graph::dep_node::DepKind>
  46:     0x7fd5f8a93953 - <rustc_interface[e3f740b58bbe8d54]::passes::QueryContext>::enter::<rustc_driver[be31376d096510e8]::run_compiler::{closure#1}::{closure#2}::{closure#2}, core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>
  47:     0x7fd5f8a8fd03 - <rustc_interface[e3f740b58bbe8d54]::interface::Compiler>::enter::<rustc_driver[be31376d096510e8]::run_compiler::{closure#1}::{closure#2}, core[468623a6da7d9ec9]::result::Result<core[468623a6da7d9ec9]::option::Option<rustc_interface[e3f740b58bbe8d54]::queries::Linker>, rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>
  48:     0x7fd5f8a8ad18 - rustc_span[414a16377e6cb62b]::with_source_map::<core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>, rustc_interface[e3f740b58bbe8d54]::interface::run_compiler<core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>, rustc_driver[be31376d096510e8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  49:     0x7fd5f8a8a805 - <scoped_tls[b199c6e77ce176e9]::ScopedKey<rustc_span[414a16377e6cb62b]::SessionGlobals>>::set::<rustc_interface[e3f740b58bbe8d54]::interface::run_compiler<core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>, rustc_driver[be31376d096510e8]::run_compiler::{closure#1}>::{closure#0}, core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>
  50:     0x7fd5f8a89df2 - std[f1a6b9449c89a13c]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[e3f740b58bbe8d54]::util::run_in_thread_pool_with_globals<rustc_interface[e3f740b58bbe8d54]::interface::run_compiler<core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>, rustc_driver[be31376d096510e8]::run_compiler::{closure#1}>::{closure#0}, core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>
  51:     0x7fd5f90b759a - <<std[f1a6b9449c89a13c]::thread::Builder>::spawn_unchecked_<rustc_interface[e3f740b58bbe8d54]::util::run_in_thread_pool_with_globals<rustc_interface[e3f740b58bbe8d54]::interface::run_compiler<core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>, rustc_driver[be31376d096510e8]::run_compiler::{closure#1}>::{closure#0}, core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[468623a6da7d9ec9]::result::Result<(), rustc_errors[78faa046e0c9ca7a]::ErrorGuaranteed>>::{closure#1} as core[468623a6da7d9ec9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  52:     0x7fd5f64fbc53 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h633e4f7ed41b131b
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/alloc/src/boxed.rs:2000:9
  53:     0x7fd5f64fbc53 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h46d52a363ffe776a
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/alloc/src/boxed.rs:2000:9
  54:     0x7fd5f64fbc53 - std::sys::unix::thread::Thread::new::thread_start::h6d9ed7daf86174ef
                               at /rustc/92c1937a90e5b6f20fa6e87016d6869da363972e/library/std/src/sys/unix/thread.rs:108:17
  55:     0x7fd5f63bf609 - start_thread
  56:     0x7fd5f62e2133 - clone
  57:                0x0 - <unknown>

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/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.68.0-nightly (92c1937a9 2022-12-27) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type bin -C opt-level=3 -C embed-bitcode=no -C codegen-units=1

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [type_of] computing type of `_Container::cells`
#1 [inferred_outlives_crate] computing the inferred outlives predicates for items in this crate
#2 [inferred_outlives_of] computing inferred outlives predicates of `_Container`
#3 [predicates_defined_on] computing predicates of `_Container`
#4 [predicates_of] computing predicates of `_Container`
#5 [collect_mod_item_types] collecting item types in top-level module
#6 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `playground`
@jonaspleyer jonaspleyer added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 29, 2022
@jonaspleyer jonaspleyer changed the title Trait alias - Compiler panic when using Add trait Trait alias - Add trait + dyn causes compiler panic Dec 29, 2022
@jonaspleyer jonaspleyer changed the title Trait alias - Add trait + dyn causes compiler panic Trait alias; Add trait + dyn causes compiler panic Dec 29, 2022
@jonaspleyer jonaspleyer changed the title Trait alias; Add trait + dyn causes compiler panic Trait alias + Add trait + dyn causes compiler panic Dec 29, 2022
@jonaspleyer jonaspleyer changed the title Trait alias + Add trait + dyn causes compiler panic Trait alias: Add trait + dyn causes compiler panic Dec 29, 2022
@fmease
Copy link
Member

fmease commented Dec 29, 2022

Potential duplicate of #104719 which would be fixed by #104745.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
3 participants