Skip to content

ICE: unexpected failure #13853

Closed
Closed
@carllerche

Description

@carllerche
trait Node {
    fn zomg();
}

trait Graph<N: Node> {
    fn nodes<'a, I: Iterator<&'a N>>(&'a self) -> I;
}

impl<N: Node> Graph<N> for Vec<N> {
    fn nodes<'a, I: Iterator<&'a N>>(&self) -> I {
        self.iter()
    }
}

struct Stuff;

impl Node for Stuff {
    fn zomg() {
        println!("zomg");
    }
}

fn iterate<N: Node, G: Graph<N>>(graph: &G) {
    for node in graph.iter() {
        node.zomg();
    }
}

pub fn main() {
    let graph = Vec::new();

    graph.push(Stuff);

    iterate(graph);
}

backtrace:

RUST_BACKTRACE=1 rustc graph.rs
graph.rs:11:9: 11:20 error: mismatched types: expected `I` but found `std::slice::Items<,N>` (expected type parameter but found struct std::slice::Items)
graph.rs:11         self.iter()
                    ^~~~~~~~~~~
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://static.rust-lang.org/doc/master/complement-bugreport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'OwnedSlice: index out of bounds', /Users/carllerche/Code/oss/rust/src/libstd/option.rs:245
stack backtrace:
   1:        0x1124fcbe4 - rt::backtrace::imp::write::hcadb4ca6cf458711WEa::v0.11.pre
   2:        0x11245eafe - rt::unwind::begin_unwind_inner::hca8608d5eeddd58a2ea::v0.11.pre
   3:        0x10f857888 - rt::unwind::begin_unwind::h17449128597888216233::v0.11.pre
   4:        0x10fa04c9c - middle::subst::ty..Region.Subst::subst_spanned::he4ed0aac71e34c93RLQ::v0.11.pre
   5:        0x10fa04f94 - middle::ty_fold::super_fold_sty::h16046759532750779955::v0.11.pre
   6:        0x10fa044c3 - middle::subst::SubstFolder<'a>.TypeFolder::fold_ty::h0538984c9a39e119FwQ::v0.11.pre
   7:        0x10f9d4460 - iter::Iterator::collect::h16000720370100676544::v0.11.pre
   8:        0x10fa05820 - middle::ty_fold::super_fold_sig::h9594554811819343845::v0.11.pre
   9:        0x10fa05029 - middle::ty_fold::super_fold_sty::h16046759532750779955::v0.11.pre
  10:        0x10fa044c3 - middle::subst::SubstFolder<'a>.TypeFolder::fold_ty::h0538984c9a39e119FwQ::v0.11.pre
  11:        0x10f9d4795 - middle::subst::ty..t.Subst::subst_spanned::h2928f17972b9f34fRuQ::v0.11.pre
  12:        0x10fafd280 - middle::typeck::check::compare_impl_method::h7ba2a958f71be34dSK7::v0.11.pre
  13:        0x10fae6595 - middle::typeck::check::check_item::h67823ebe09a4e536lp7::v0.11.pre
  14:        0x10faedb8d - middle::typeck::check::check_item_types::hd2c43c2abe8a4484gS6::v0.11.pre
  15:        0x10fc1d97f - util::common::time::h16635378632434799699::v0.11.pre
  16:        0x10fc1c8ad - middle::typeck::check_crate::he941c106adef2e35Wgu::v0.11.pre
  17:        0x11003840d - driver::driver::phase_3_run_analysis_passes::h297d37f689608467g1e::v0.11.pre
  18:        0x11003e5c2 - driver::driver::compile_input::h6b68b4cbb99b30fb3qf::v0.11.pre
  19:        0x110064312 - run_compiler::h6001e0654ecea84bzUm::v0.11.pre
  20:        0x11007818d - main_args::closure.91224
  21:        0x110076522 - monitor::closure.91099
  22:        0x11007206b - task::TaskBuilder::try::closure.90865
  23:        0x10f8216ec - task::spawn_opts::closure.7106
  24:        0x1124f7ce8 - rt::task::Task::run::closure.40146
  25:        0x112501a5c - rust_try
  26:        0x1124f7b67 - rt::task::Task::run::h7f884ecfbc0c0d44C57::v0.11.pre
  27:        0x10f82156f - task::spawn_opts::closure.7078
  28:        0x1124fb5b6 - rt::thread::thread_start::h46e5de4fe5c37df8PK8::v0.11.pre
  29:     0x7fff8e14e772 - _pthread_start

Metadata

Metadata

Assignees

No one assigned

    Labels

    E-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.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