Closed
Description
STR
#![feature(associated_types)]
// This was an ICE (#17388), which got fixed by #18868
trait Trait<T> {
type Output;
fn fun() -> <Self as Trait<T>>::Output;
}
// The new ICE gets triggered by this `impl`
impl<T> Trait<T> for () {
type Output = ();
fn fun() {}
}
fn main() {}
Output
ice.rs:1:1: 1:1 error: internal compiler error: Type parameter `Output/AssocSpace.1` (Output/AssocSpace/1) out of range when substituting (root type=Output) substs=Substs[types=[[T];[()];[()];[]], regions=[[];[];[];[]]]
ice.rs:1 #![feature(associated_types)]
^
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
task 'rustc' panicked at 'Box<Any>', /var/tmp/paludis/build/dev-lang-rust-scm/work/rust-scm/src/libsyntax/diagnostic.rs:121
stack backtrace:
1: 0x7f72dcabfae0 - rt::backtrace::imp::write::hdd602ae028f48d0dvVs
2: 0x7f72dcac2b70 - <unknown>
3: 0x7f72dd263310 - unwind::begin_unwind_inner::hbce8e4e8263dca1ePad
4: 0x7f72da970ac0 - <unknown>
5: 0x7f72da970a40 - diagnostic::SpanHandler::span_bug::hbe9748378cce230fGYF
6: 0x7f72dba52970 - middle::subst::SubstFolder<'a, 'tcx>.TypeFolder<'tcx>::fold_ty::h3e05f8a78cf2b146RLP
7: 0x7f72dbaf3800 - <unknown>
8: 0x7f72dbaf33b0 - <unknown>
9: 0x7f72dbaf2af0 - <unknown>
10: 0x7f72dbb2c5b0 - <unknown>
11: 0x7f72dbb2c410 - <unknown>
12: 0x7f72dbb2bf50 - <unknown>
13: 0x7f72dbb19410 - middle::ty::Generics<'tcx>::to_bounds::h3795ba6b160f5212yd1
14: 0x7f72dbbe66b0 - middle::typeck::check::wf::BoundsChecker<'cx, 'tcx>::check_trait_ref::ha7aa8a645e91eafdZ9g
15: 0x7f72dbbe48c0 - <unknown>
16: 0x7f72dbbe1ae0 - <unknown>
17: 0x7f72dbbe6c70 - middle::typeck::check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>.Visitor<'v>::visit_item::ha3e9d13b541ef7c6k8g
18: 0x7f72dbc3bb50 - middle::typeck::check::check_item_types::h754a0f7a04b7367639h
19: 0x7f72dbfdf590 - <unknown>
20: 0x7f72dbfde7a0 - middle::typeck::check_crate::h03aa0a74283c33108PL
21: 0x7f72dd75bcc0 - driver::driver::phase_3_run_analysis_passes::h13d5815dc0529392D5R
22: 0x7f72dd750ae0 - driver::driver::compile_input::hce9f8a5af8c23ae8nMR
23: 0x7f72dd7d51d0 - <unknown>
24: 0x7f72dd7d50c0 - <unknown>
25: 0x7f72dd5e2d50 - <unknown>
26: 0x7f72dd5e2b40 - <unknown>
27: 0x7f72ddaf4ba0 - <unknown>
28: 0x7f72dd2b2670 - <unknown>
29: 0x7f72dd2b2660 - rust_try
30: 0x7f72dd260c70 - unwind::try::hc967dd74749deb3arZc
31: 0x7f72dd260b00 - task::Task::run::h236da885853fa0e4h5b
32: 0x7f72ddaf48e0 - <unknown>
33: 0x7f72dd262320 - <unknown>
34: 0x7f72d7d451d0 - start_thread
35: 0x7f72dcf391b9 - clone
36: 0x0 - <unknown>