rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
98.86k stars 12.77k forks source link

ICE when using associated type in another assoc type's bound. 'assertion failed: did.krate != ast::LOCAL_CRATE' #20589

Closed bluss closed 9 years ago

bluss commented 9 years ago

Testcase:

#![feature(associated_types)]
#![crate_type="lib"]

pub trait Test {
    type Node;
    type Iter: Iterator<Item=Self::Node>;
}

ICE:

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 'assertion failed: did.krate != ast::LOCAL_CRATE', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/librustc/middle/ty.rs:5429

stack backtrace:
   1:     0x7fcf3fdbc2d0 - sys::backtrace::write::h8532e701ef86014f4it
   2:     0x7fcf3fde1b00 - failure::on_fail::h7532e1f79d134d5dzvz
   3:     0x7fcf3fd471c0 - rt::unwind::begin_unwind_inner::h97b151606151d62deaz
   4:     0x7fcf3dd889e0 - rt::unwind::begin_unwind::h51822373508492588
   5:     0x7fcf3e1254a0 - middle::ty::lookup_trait_def::h03e4deaeef63a30dbJ8
   6:     0x7fcf3f42fa00 - astconv::trait_defines_associated_type_named::had5db55e34b01255d8r
   7:     0x7fcf3f43ecf0 - astconv::associated_path_def_to_ty::hc84b3dad34a6beb7y3r
   8:     0x7fcf3f510a70 - astconv::ast_ty_to_ty::unboxed_closure.36573
   9:     0x7fcf3f50ff00 - astconv::ast_ty_to_ty::h9742186571356203849
  10:     0x7fcf3f52cc20 - vec::Vec<T>.FromIterator<T>::from_iter::h3042184163872248324
  11:     0x7fcf3f53a500 - astconv::instantiate_poly_trait_ref::h5037713284232952206
  12:     0x7fcf3f53a2c0 - vec::Vec<T>.FromIterator<T>::from_iter::h16052932742123044349
  13:     0x7fcf3f5880b0 - collect::conv_param_bounds::h6119870663778270976
  14:     0x7fcf3f5b8760 - collect::ty_generics_for_trait::predicates_for_associated_types::unboxed_closure.38348
  15:     0x7fcf3f5b80c0 - vec::Vec<T>.FromIterator<T>::from_iter::h16559678602879155701
  16:     0x7fcf3f582dc0 - collect::ty_generics_for_trait::h3bec9bdd99c50c92L6t
  17:     0x7fcf3f4ed530 - collect::trait_def_of_item::h4615ec192a82cc79FSt
  18:     0x7fcf3f4eafc0 - collect::CollectTraitDefVisitor<'a, 'tcx>.visit..Visitor<'v>::visit_item::hdba3ee6263b30487m6s
  19:     0x7fcf3f5f1dd0 - check_crate::unboxed_closure.40065
  20:     0x7fcf3f5efc30 - check_crate::h19fb6dea5733566ajsx
  21:     0x7fcf4030d640 - driver::phase_3_run_analysis_passes::h46b1604d9f9f5633Tva
  22:     0x7fcf402fbae0 - driver::compile_input::h68b8602933aad8d7wba
  23:     0x7fcf403c6eb0 - thunk::F.Invoke<A, R>::invoke::h18029802347644288836
  24:     0x7fcf403c5c60 - rt::unwind::try::try_fn::h6518866316425934196
  25:     0x7fcf3fe48400 - rust_try_inner
  26:     0x7fcf3fe483f0 - rust_try
  27:     0x7fcf403c5fb0 - thunk::F.Invoke<A, R>::invoke::h15513809553472565307
  28:     0x7fcf3fdcde40 - sys::thread::thread_start::h5ea7ba97235331d5a9v
  29:     0x7fcf3a439fe0 - start_thread
  30:     0x7fcf3f9f5c99 - __clone
  31:                0x0 - <unknown>

rustc version:

rustc 0.13.0-nightly (c6c786671 2015-01-04 00:50:59 +0000)
binary: rustc
commit-hash: c6c786671d692d7b13c2e5c68a53001327b4b125
commit-date: 2015-01-04 00:50:59 +0000
host: x86_64-unknown-linux-gnu
release: 0.13.0-nightl
tomprogrammer commented 9 years ago

Maybe a duplicate of #20220?

bluss commented 9 years ago

The backtraces are the same so I judge it's a dup.