Closed
Description
The following code causes an ICE in an up-to-date rustc
#![feature(associated_types)]
trait HKT<Arg> {
type Res;
}
enum MakePair {}
impl<T> HKT<T> for MakePair {
type Res = (T, T);
}
fn main() {
}
Here is the full rustc output
aaa.rs:1:1: 1:1 error: internal compiler error: Type parameter `Res/AssocSpace.1` (Res/AssocSpace/1) out of range when substituting (root type=Res) substs=Substs[types=[[T];[MakePair];[(T, T)];[]], regions=[[];[];[];[]]]
aaa.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>', /home/acann/src/rust/rust/src/libsyntax/diagnostic.rs:129
stack backtrace:
1: 0xb73bbbc0 - rt::backtrace::imp::write::h284a095c7aee31ccGOx
2: 0xb73beb30 - failure::on_fail::h2d0aefabf893c1186fy
3: 0xb721d460 - unwind::begin_unwind_inner::h4d26c479cdc48a2fCJc
4: 0xb58c4660 - unwind::begin_unwind::h5309064723466376297
5: 0xb58c45d0 - diagnostic::SpanHandler::span_bug::h782453507c017400a4E
6: 0xb6140bf0 - middle::subst::SubstFolder<'a, 'tcx>.TypeFolder<'tcx>::fold_ty::h24e968235489f2b9i92
7: 0xb6269760 - middle::ty_fold::VecPerParamSpace<T>.TypeFoldable<'tcx>::fold_with::closure.90750
8: 0xb6159600 - middle::subst::VecPerParamSpace<T>::map_enumerated::h3314737924672344624
9: 0xb6269420 - middle::ty_fold::TypeFolder::fold_substs::h10596287227473156004
10: 0xb6299870 - middle::ty_fold::Vec<T>.TypeFoldable<'tcx>::fold_with::closure.93166
11: 0xb62996d0 - iter::IteratorExt::collect::h12530763557803807858
12: 0xb6299540 - middle::ty_fold::ty..ParamBounds<'tcx>.TypeFoldable<'tcx>::fold_with::h17172715228212896389
13: 0xb62898b0 - middle::ty::Generics<'tcx>::to_bounds::h5b7ef3c2a0d468ca1Me
14: 0xb6b1fd80 - check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>::check_impl::closure.29495
15: 0xb6b1c390 - check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>::with_fcx::hea08a92c982ee16bARi
16: 0xb6b22800 - check::wf::CheckTypeWellFormedVisitor<'ccx, 'tcx>.Visitor<'v>::visit_item::h83cff511db621e2e61i
17: 0xb6eee9d0 - check_crate::closure.42370
18: 0xb6eeb0a0 - util::common::time::h18259353318660871853
19: 0xb6eea2a0 - check_crate::he7c5ea6b87c52b3bSFy
20: 0xb75e56a0 - driver::phase_3_run_analysis_passes::h5e7f909e754bbebfCta
21: 0xb75d3f90 - driver::compile_input::he705e5abc840cf58pba
22: 0xb7672420 - run_compiler::h3736912802393701EYb
23: 0xb7672300 - run::closure.21407
24: 0xb7683a90 - task::TaskBuilder::try_future::closure.22861
25: 0xb7395df0 - task::TaskBuilder::spawn_internal::closure.30624
26: 0xb721b200 - task::Task::spawn::closure.5731
27: 0xb721cdf0 - unwind::try::try_fn::h41e9940f84e74506VAc
28: 0xb72863a0 - rust_try_inner
29: 0xb7286360 - rust_try
30: 0xb721b2e0 - unwind::try::h645db934c3e71637Tyc
31: 0xb721b090 - task::Task::run::h8509a48449169e4efKb
32: 0xb721ac80 - task::Task::spawn::closure.5707
33: 0xb721c610 - thread::thread_start::h51b85550e3f54be9w1b
34: 0xb35def80 - start_thread
35: 0xb711b082 - __clone
36: 0x0 - <unknown>
Metadata
Metadata
Assignees
Labels
No labels