Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

task 'rustc' failed at 'expect item fn' #16683

Closed
nefigah opened this issue Aug 22, 2014 · 3 comments · Fixed by #18324
Closed

task 'rustc' failed at 'expect item fn' #16683

nefigah opened this issue Aug 22, 2014 · 3 comments · Fixed by #18324
Labels
E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@nefigah
Copy link

nefigah commented Aug 22, 2014

I got an internal compiler error trying to compile my code (which almost certainly isn't well-typed in its current state, but the error message told me to submit a bug report anyway).

rustc 0.12.0-pre-nightly (6b5ec40d4 2014-08-15 00:46:19 +0000)

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 'expect item fn', /Users/rustbuild/src/rust-buildbot/slave/nightly-mac/build/src/libcore/option.rs:243

stack backtrace:
   1:        0x1120a0385 - rt::backtrace::imp::write::h4536a001ce066177jar
   2:        0x1120a3543 - failure::on_fail::hff2f39e7bb3266e3Oqr
   3:        0x1123748c5 - unwind::begin_unwind_inner::h1ddc246b8ab90e50S5d
   4:        0x1123744fb - unwind::begin_unwind_fmt::h01801789b5278947n3d
   5:        0x112374352 - rust_begin_unwind
   6:        0x1123c41ec - failure::begin_unwind::h50eb7cbc3faad06bn5j
   7:        0x10f1c4c9c - middle::typeck::infer::error_reporting::InferCtxt<'a>.ErrorReporting::give_suggestion::h1b40bdaf1b41ca3aEO9
   8:        0x10f1bd16a - middle::typeck::infer::error_reporting::InferCtxt<'a>.ErrorReporting::report_processed_errors::h10993b1a96033985JN9
   9:        0x10f1b8e27 - middle::typeck::infer::error_reporting::InferCtxt<'a>.ErrorReporting::report_region_errors::hc5d7708eec8756aap98
  10:        0x10f0737b5 - middle::typeck::infer::InferCtxt<'a>::resolve_regions_and_report_errors::ha8cdd18d52a67f29BAc
  11:        0x10f0cf87d - middle::typeck::check::check_bare_fn::h54a4c6354dd8f64eJIR
  12:        0x10f0d8cc2 - middle::typeck::check::check_method_body::hef6e38fbadd4af3f8sS
  13:        0x10f0c8af3 - middle::typeck::check::check_item::hf589c8c7d0ccbb41xhS
  14:        0x10f0cf5bd - middle::typeck::check::check_item_types::hc21fce67b5b46b261HR
  15:        0x10eaf7af6 - util::common::time::h3024600184563185324
  16:        0x10f2cd76c - middle::typeck::check_crate::ha430b9795a043407p2i
  17:        0x10f39ae20 - driver::driver::phase_3_run_analysis_passes::h75b0fef474512fa9Vsx
  18:        0x10f395e13 - driver::driver::compile_input::h79ff988559bc8942afx
  19:        0x10f43bf67 - driver::run_compiler::he7d6bb44f05b4ab7vJA
  20:        0x10f43a6e6 - driver::main_args::closure.136974
  21:        0x10f44c63b - task::TaskBuilder<S>::try_future::closure.138135
  22:        0x10f44c545 - task::TaskBuilder<S>::spawn_internal::closure.138112
  23:        0x11168e78c - task::spawn_opts::closure.8425
  24:        0x1123da12c - rust_try_inner
  25:        0x1123da116 - rust_try
  26:        0x112371c9b - unwind::try::h3475e7f0add0adf2nUd
  27:        0x112371a3b - task::Task::run::h445e97db351c9d1fv2c
  28:        0x11168e5ea - task::spawn_opts::closure.8370
  29:        0x112373856 - thread::thread_start::h5ba8f129cf6edff5Fqd
  30:     0x7fff89547899 - _pthread_body
  31:     0x7fff8954772a - _pthread_struct_init
@alexcrichton
Copy link
Member

Could you provide the code that causes the ICE as well?

@nefigah
Copy link
Author

nefigah commented Aug 23, 2014

It seems to happen if I uncomment the following method:

trait Cardlike<'a> {
    fn common_data(&'a self) -> &'a CardData;
    fn query_val(&self, Attribute) -> int;
    /* fn convert_mana_cost(&self) -> int {
        let data = self.common_data();
        let cmc = data.cost.iter().fold(0, |sum, &mana| sum + mana.convert());
        let x = self.query_val(X);
        cmc + x;
    } */
}

@huonw huonw added the I-ICE label Aug 23, 2014
@mchesser
Copy link

Reduced test case:

trait T<'a> {
    fn a(&'a self) -> &'a bool;
    fn b(&self) {
        self.a();
    }
}

Appears to be a fairly recent regression, (does not occur in 0.11).

@ghost ghost added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Oct 21, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants