Closed
Description
STR
trait MatrixShape {}
struct Col<D, C> {
data: D,
col: C,
}
// NB The `T` parameter is not necessary (it shouldn't be in the list), but it triggers the ICE
impl<T, M: MatrixShape> Collection for Col<M, uint> {
fn len(&self) -> uint {
unimplemented!()
}
}
fn main() {}
Backtrace
ice.rs:9:1: 13:2 error: cannot determine a type for this bounded type parameter: unconstrained type
ice.rs:9 impl<T, M: MatrixShape> Collection for Col<M, uint> {
ice.rs:10 fn len(&self) -> uint {
ice.rs:11 unimplemented!()
ice.rs:12 }
ice.rs:13 }
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. 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' failed at 't_f should be a trait', /var/tmp/paludis/build/dev-lang-rust-scm/work/rust-scm/src/librustc/middle/typeck/check/vtable.rs:572
stack backtrace:
1: 0x7f0a70dc8cf0 - rt::backtrace::imp::write::hd882173939e2d158lxr
2: 0x7f0a70dcbdc0 - <unknown>
3: 0x7f0a715a2ce0 - unwind::begin_unwind_inner::h65c561bad0624ee8pie
4: 0x7f0a719827f0 - <unknown>
5: 0x7f0a71ef4f60 - <unknown>
6: 0x7f0a71ef1df0 - <unknown>
7: 0x7f0a71eb7ea0 - middle::ty::each_bound_trait_and_supertraits::h477415d2339bd77d4iJ
8: 0x7f0a71ef1870 - <unknown>
9: 0x7f0a71eef6b0 - <unknown>
10: 0x7f0a71f002c0 - middle::typeck::check::vtable::resolve_impl::h5d941955100c3ed0hsN
11: 0x7f0a71f5a4f0 - middle::typeck::check::check_item::h5c01327523eacc2cc8T
12: 0x7f0a71f61190 - middle::typeck::check::check_item_types::h929141f69725396elyT
13: 0x7f0a719757a0 - <unknown>
14: 0x7f0a7216f3c0 - middle::typeck::check_crate::h17528f3293b3d1e3Nbl
15: 0x7f0a7223d080 - driver::driver::phase_3_run_analysis_passes::hefc53f5f304abf28UMz
16: 0x7f0a722381c0 - driver::driver::compile_input::h0bf12e1ffd3fd3430yz
17: 0x7f0a722e56c0 - <unknown>
18: 0x7f0a722e55d0 - <unknown>
19: 0x7f0a722f8000 - <unknown>
20: 0x7f0a722f7e00 - <unknown>
21: 0x7f0a72d48bb0 - <unknown>
22: 0x7f0a715f2a90 - <unknown>
23: 0x7f0a715f2a80 - rust_try
24: 0x7f0a715a0340 - unwind::try::hb59840f49a9c268eF6d
25: 0x7f0a715a00e0 - task::Task::run::h16546e7aae493143Zcd
26: 0x7f0a72d48970 - <unknown>
27: 0x7f0a715a1f20 - <unknown>
28: 0x7f0a70859000 - start_thread
29: 0x7f0a71271269 - clone
30: 0x0 - <unknown>
Version
rustc 0.12.0-pre (eff87bc9d 2014-08-17 13:11:06 +0000)
Note The ICE doesn't occurr in the playpen (master nor 0.11 snapshot). So the ICE must have been introduced in a recent commit.