Skip to content

ICE using associated type in trait bound #20220

Closed
@pythonesque

Description

@pythonesque

It actually happens even if you take out the type T but I figured that would be too confusing of a testcase.

#![feature(associated_types)]

pub trait Foo {
    type T;
    type S: Bar<Self::T>;
}

pub trait Bar<T> {}
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'no entry found for key', /Users/rustbuild/src/rust-buildbot/slave/nightly-mac/build/src/libcore/option.rs:329

stack backtrace:
   1:        0x1078c7c38 - sys::backtrace::write::h329291c3ffa2342c0Jt
   2:        0x1078e8a03 - failure::on_fail::h17e4ace9633d727be0z
   3:        0x107854c3a - rt::unwind::begin_unwind_inner::h190be063817ae06eFHz
   4:        0x10785915d - rt::unwind::begin_unwind_fmt::hc68ebd2b3de4118e2Ez
   5:        0x1078e8302 - rust_begin_unwind
   6:        0x107935d0c - panicking::panic_fmt::h6d9a452b0d084e9dLkl
   7:        0x1046960b9 - collections::hash::map::HashMap<K,$u{20}V$C$$u{20}H$GT$.Index$LT$Q$C$$u{20}V$GT$::index::h4548773097338651390
   8:        0x104756a96 - astconv::ast_ty_to_ty::unboxed_closure.36753
   9:        0x104755323 - astconv::ast_ty_to_ty::h3464216238889989760
  10:        0x10475497c - iter::IteratorExt::collect::h1178474147849539242
  11:        0x104862cf1 - astconv::ast_path_to_trait_ref::h12290017992957141453
  12:        0x1048625e6 - astconv::instantiate_poly_trait_ref::h3434886886043991751
  13:        0x104862350 - vec::Vec<T>.FromIterator<T>::from_iter::h6759705047736047902
  14:        0x1048c987d - collect::compute_bounds::h9074989142750734463
  15:        0x104860e9b - collect::ty_generics_for_trait::ha23d00f7844cb7b4quv
  16:        0x1047321ee - collect::trait_def_of_item::h2e00c54b47ce1f2cgdv
  17:        0x10472ed30 - collect::CollectTraitDefVisitor<$u{27}a$C$$u{20}$u{27}tcx$GT$.visit..Visitor$LT$$u{27}v$GT$::visit_item::h913166666a1bcfc7dSt
  18:        0x10492237f - check_crate::unboxed_closure.43401
  19:        0x10492048a - check_crate::hcab218417b8f1f7f51y
  20:        0x103ff9113 - driver::phase_3_run_analysis_passes::hb0ac12e829cd00e7Jta
  21:        0x103fdaffe - driver::compile_input::hdcb29128a43ec322wba
  22:        0x10417aff8 - thunk::Thunk<(*,$u{20}R$GT$::new::unboxed_closure.30336
  23:        0x104179038 - thunk::F.Invoke<A,$u{20}R$GT$::invoke::h12480167585331118411
  24:        0x1041777d9 - rt::unwind::try::try_fn::h9666833473335668351
  25:        0x107950669 - rust_try_inner
  26:        0x107950656 - rust_try
  27:        0x104177ed7 - thunk::F.Invoke<A,$u{20}R$GT$::invoke::h4838524648863172491
  28:        0x1078d7c24 - sys::thread::thread_start::h7394d69fbc5b85e9vFw
  29:     0x7fff8115e899 - _pthread_body
  30:     0x7fff8115e72a - _pthread_struct_init

Metadata

Metadata

Assignees

Labels

A-associated-itemsArea: Associated items (types, constants & functions)I-ICEIssue: The compiler 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