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

ICE when using unboxed closures #17021

Closed
reem opened this issue Sep 5, 2014 · 20 comments · Fixed by #18324
Closed

ICE when using unboxed closures #17021

reem opened this issue Sep 5, 2014 · 20 comments · Fixed by #18324
Labels
A-closures Area: Closures (`|…| { … }`) 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

@reem
Copy link
Contributor

reem commented Sep 5, 2014

error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 66u32}, ReScope(63u32))
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 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/libsyntax/ast_util.rs:776

Full log here: https://travis-ci.org/reem/rust-replace-map/builds/34311513
Code in the repo here: https://github.com/reem/rust-replace-map/blob/master/src/lib.rs

@nathantypanski
Copy link
Contributor

@reem do you know which version of rustc you were running on when this happened?

For example, my rustc -v output is:

rust$ rustc -v
rustc 0.12.0-pre (c95aa9950 2014-09-04 03:01:03 +0000)

This code compiles and works for me.

rust$ rustc --test ../scratch/17021.rs
rust$ ../scratch/17021

running 1 test
test test_works ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

@reem
Copy link
Contributor Author

reem commented Sep 7, 2014

Appears to work fine now, must have been fixed by some change in the last few days. Thanks for investigating!

@reem reem closed this as completed Sep 7, 2014
@nathantypanski
Copy link
Contributor

@reem Are you willing to additionally release this code snippet under the Apache License, for inclusion in a regression test? The test files are licensed as follows:

// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

(considering you specify the MIT license in the sample code, I think it's worth asking)

@reem
Copy link
Contributor Author

reem commented Sep 7, 2014

Sure!

Weird thing is, this is still failing Travis. On my phone, so no link, but the most recent build for that repo shows the same ICE.
Thanks,
Jonathan Reem

On Sun, Sep 7, 2014 at 10:06 AM, Nathan Typanski [email protected]
wrote:

@reem Are you willing to additionally release this code snippet under the Apache License, for inclusion in a regression test? The test files are licensed as follows:

// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.

(considering you specify the MIT license in the sample code, I think it's worth asking)

Reply to this email directly or view it on GitHub:
#17021 (comment)

@nathantypanski
Copy link
Contributor

Travis nightlies trail slightly behind the latest builds. Some ideas have gotten passed around about improving that rate: see #16649 for details.

nathantypanski added a commit to nathantypanski/rust that referenced this issue Sep 8, 2014
This code used to produce the following ICE:

   error: internal compiler error: get_unique_type_id_of_type() -
   unexpected type: closure,
   ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 66u32},
   ReScope(63u32))

This is a regression test for issue rust-lang#17021.
@rozaliev
Copy link

rozaliev commented Sep 8, 2014

It's still reproducible with
rustc 0.12.0-pre-nightly (aaf141d 2014-09-07 23:01:34 +0000)

#![feature(unboxed_closures, unboxed_closure_sugar)]

fn bug() {
  let c = box |&:| {};
}
error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 12u32}, ReScope(6u32))
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 'Box<Any>', /Users/rustbuild/src/rust-buildbot/slave/nightly-mac/build/src/libsyntax/ast_util.rs:776

stack backtrace:
   1:        0x110c9f115 - rt::backtrace::imp::write::h38c3950ca30819fdNhr
   2:        0x110ca2451 - failure::on_fail::h61277a1f47996a75Hyr
   3:        0x110f53875 - unwind::begin_unwind_inner::h486b778488114bbbb0d
   4:        0x10ec5067a - unwind::begin_unwind::h3175822293847778141
   5:        0x10ec50e93 - diagnostic::Handler::bug::hd6b702e7e7b3a49eohF
   6:        0x10d6624f8 - driver::session::Session::bug::h815f6a1f5ba33169uqE
   7:        0x10db41e1c - middle::trans::debuginfo::TypeMap::get_unique_type_id_of_type::h1e440d0de59b8198a6q
   8:        0x10db4b627 - middle::trans::debuginfo::type_metadata::h6274e0cc3b47fb5cBvt
   9:        0x10dac6888 - middle::trans::debuginfo::create_function_debug_context::h7f8454964fde3412ZSr
  10:        0x10da3ef61 - middle::trans::base::new_fn_ctxt::hc9142e1507966736Xpf
  11:        0x10daca652 - middle::trans::base::trans_closure::h0c688b38a6dcca51gSf
  12:        0x10da75266 - middle::trans::closure::trans_unboxed_closure::hb0507895820464a1Onk
  13:        0x10da5fc26 - middle::trans::expr::trans_rvalue_dps_unadjusted::h34800865705f8eeeVG4
  14:        0x10da1bf9a - middle::trans::expr::trans_into::ha853a39b9a7f24dajk3
  15:        0x10da6a218 - middle::trans::expr::trans_uniq_expr::h40fb1130cbca349eit5
  16:        0x10da6aea3 - middle::trans::expr::trans_unary::hfc200761698d9538dp5
  17:        0x10da5ed3c - middle::trans::expr::trans_unadjusted::h82416de87d2e89c4t73
  18:        0x10da1bffb - middle::trans::expr::trans_into::ha853a39b9a7f24dajk3
  19:        0x10db1ea8e - middle::trans::_match::mk_binding_alloca::h346642657361229732
  20:        0x10dac1a26 - middle::trans::_match::store_local::h8c0c54cf00e6ee77cuj
  21:        0x10da1b5c2 - middle::trans::base::init_local::h1d29be9b103cc7b5HZe
  22:        0x10da1aafd - middle::trans::controlflow::trans_stmt::hc6927708a476c2f1B3Y
  23:        0x10da1c19c - middle::trans::controlflow::trans_block::hd755847507381b83M8Y
  24:        0x10dacbe66 - middle::trans::base::trans_closure::h0c688b38a6dcca51gSf
  25:        0x10da0c322 - middle::trans::base::trans_fn::h097de052d534817a33f
  26:        0x10da07bf3 - middle::trans::base::trans_item::h7c651a6b253c43b1Sng
  27:        0x10dad677c - middle::trans::base::trans_crate::h8a752ffbd6768478rnh
  28:        0x10def5241 - driver::driver::phase_4_translate_to_llvm::hff28f92720c498desQD
  29:        0x10deee1e8 - driver::driver::compile_input::h6fd531f77f6169fctsD
  30:        0x10df78faa - driver::run_compiler::hb663589ebabe2c20IjH
  31:        0x10df773b6 - driver::main_args::closure.147451
  32:        0x10d68fd6b - task::TaskBuilder<S>::try_future::closure.100018
  33:        0x10d68fc73 - task::TaskBuilder<S>::spawn_internal::closure.99989
  34:        0x10f3302cd - task::spawn_opts::closure.8473
  35:        0x110fb5d2c - rust_try_inner
  36:        0x110fb5d16 - rust_try
  37:        0x110f50d17 - unwind::try::h513c5138bad9ea23lOd
  38:        0x110f50b8c - task::Task::run::h87d8d159864e6bc2L0c
  39:        0x10f330122 - task::spawn_opts::closure.8412
  40:        0x110f527ba - thread::thread_start::hb27c396f8741958eSld
  41:     0x7fff8cd30899 - _pthread_body
  42:     0x7fff8cd3072a - _pthread_struct_init

@tomassedovic
Copy link
Contributor

I can reproduce this, too, but only with the -g flag on (which cargo build & cargo test set):

$ rustc --crate-type lib -g b17021.rs 
b17021.rs:3:1: 5:2 warning: code is never used: `bug`, #[warn(dead_code)] on by default
b17021.rs:3 fn bug() {
b17021.rs:4   let c = box |&:| {};
b17021.rs:5 }
b17021.rs:4:7: 4:8 warning: unused variable: `c`, #[warn(unused_variable)] on by default
b17021.rs:4   let c = box |&:| {};
                  ^
error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 12u32}, ReScope(6u32))
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 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/libsyntax/ast_util.rs:776

If I drop -g, it builds fine:

$ rustc --crate-type lib b17021.rs 
b17021.rs:3:1: 5:2 warning: code is never used: `bug`, #[warn(dead_code)] on by default
b17021.rs:3 fn bug() {
b17021.rs:4   let c = box |&:| {};
b17021.rs:5 }
b17021.rs:4:7: 4:8 warning: unused variable: `c`, #[warn(unused_variable)] on by default
b17021.rs:4   let c = box |&:| {};
                  ^

$ rustc --version verbose
rustc 0.12.0-pre-nightly (aaf141d39 2014-09-07 23:01:34 +0000)
binary: rustc
commit-hash: aaf141d399097d0ea84288b9ad1dc842a6158a5c
commit-date: 2014-09-07 23:01:34 +0000
host: x86_64-unknown-linux-gnu
release: 0.12.0-pre-nightly

@tomassedovic
Copy link
Contributor

Reproducible on rustc 0.12.0-pre-nightly (09abbbdaf 2014-09-11 00:05:41 +0000).

@huonw would you reopen this, please?

@huonw huonw reopened this Sep 11, 2014
@nathantypanski
Copy link
Contributor

I'm really curious why/how #17093 passes the build if all of these are failing. I'll try bisecting from the c95aa99 build using this code:

#![feature(unboxed_closures, unboxed_closure_sugar)]

fn bug() {
  let c = box |&:| {};
}

(both this and the OP's code compile on c95aa99, for reference)

@tomassedovic
Copy link
Contributor

@nathantypanski is #17093 being compiled with the -g flag? I'm getting the ICE only with -g on.

@nathantypanski
Copy link
Contributor

@tomassedovic thanks, it breaks with -g for me. I should have read that more carefully.

Anywho, I'll try to look into it. Maybe someone more experienced than me will solve it first, though.

nathantypanski added a commit to nathantypanski/rust that referenced this issue Sep 12, 2014
This catches two unhandled patterns in middle/trans/debuginfo.rs where a
ty::ty_unboxed_closure could show up, preventing various potential ICEs
when #[feature(unboxed_closures)] is used with `-g`.

It also updates the test case from rust-lang#17093 in response to new information
from rust-lang#17021 showing that the test still caused an ICE when compiling
with debuginfo.

Closes rust-lang#17021.
@dckc
Copy link
Contributor

dckc commented Sep 17, 2014

I'm getting very similar symptoms with rustc 0.12.0-pre-nightly (f8426e2e2 2014-09-16 02:26:01 +0000).

my code: dckc/rust-sqlite3@882347d

RUST_BACKTRACE=1 cargo test
   Compiling rust-sqlite v0.0.1 (file:///home/connolly/projects/rust-sqlite)
error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 837u32}, ReScope(836u32))
error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 838u32}, ReScope(837u32))
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 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/libsyntax/ast_util.rs:694

stack backtrace:
   1:     0x7f556e08be10 - rt::backtrace::imp::write::h58c507e3d62ba470EGq
   2:     0x7f556e08efd0 - failure::on_fail::h4e8b8c41435d737861q
   3:     0x7f556e875170 - unwind::begin_unwind_inner::h1fb7b215753db772MTd
   4:     0x7f556a793ba0 - unwind::begin_unwind::h13599161861070157624
   5:     0x7f556a794340 - diagnostic::Handler::bug::h5acd6ba1b54e525eXND
   6:     0x7f556ec5cf20 - driver::session::Session::bug::he4cfdccd626f2833Biv
   7:     0x7f556f1370c0 - middle::trans::debuginfo::TypeMap::get_unique_type_id_of_type::h5512f66d43f3b795VTm
   8:     0x7f556f142a70 - middle::trans::debuginfo::type_metadata::h7d666eda32ab8213gdp
   9:     0x7f556f0de540 - middle::trans::debuginfo::create_function_debug_context::hd88c85dea33273c8oEn
  10:     0x7f556f055b30 - middle::trans::base::new_fn_ctxt::hd01b77407a4d5fbeU5b
  11:     0x7f556f0e2bf0 - middle::trans::base::trans_closure::hed18cfef32647cfchxc
  12:     0x7f556f08e650 - middle::trans::closure::trans_unboxed_closure::h8b81ff097b4bcc84rKg
  13:     0x7f556f077240 - middle::trans::expr::trans_rvalue_dps_unadjusted::h30466267ac61ee80ZL1
  14:     0x7f556f032670 - middle::trans::expr::trans_into::h7f0f7222768a8208Ss0
  15:     0x7f556f080ee0 - middle::trans::expr::trans_uniq_expr::h8a7464811676935ePv2
  16:     0x7f556f081a60 - middle::trans::expr::trans_unary::hf5e9e68b6559378fJr2
  17:     0x7f556f0763b0 - middle::trans::expr::trans_unadjusted::h47e1e28f94cd2d83Sc1
  18:     0x7f556f033bb0 - middle::trans::expr::trans::h37c06598b4b77312Cw0
  19:     0x7f556f06f0a0 - middle::trans::callee::trans_args::h80ca0184ed615ab5R1Z
  20:     0x7f556f03b3b0 - middle::trans::callee::trans_call_inner::hf3b9652a55858086WGZ
  21:     0x7f556f068b90 - middle::trans::callee::trans_call::h859116d764b84d33fBZ
  22:     0x7f556f077240 - middle::trans::expr::trans_rvalue_dps_unadjusted::h30466267ac61ee80ZL1
  23:     0x7f556f032670 - middle::trans::expr::trans_into::h7f0f7222768a8208Ss0
  24:     0x7f556f032b50 - middle::trans::controlflow::trans_block::h42a66b0844254317VvW
  25:     0x7f556f0e2bf0 - middle::trans::base::trans_closure::hed18cfef32647cfchxc
  26:     0x7f556f020640 - middle::trans::base::trans_fn::h09596f78ce96e9aauIc
  27:     0x7f556f0e6860 - middle::trans::meth::trans_impl::hcbb399ecf3aaea18LIh
  28:     0x7f556f01c280 - middle::trans::base::trans_item::hc56287d0be1f09e3D1c
  29:     0x7f556f01c280 - middle::trans::base::trans_item::hc56287d0be1f09e3D1c
  30:     0x7f556f0ef150 - middle::trans::base::trans_crate::hf87901a2dda586fbwZd
  31:     0x7f556f5097c0 - driver::driver::phase_4_translate_to_llvm::hecec95a14eb6141atJu
  32:     0x7f556f500a10 - driver::driver::compile_input::hf2ae38f6706178a6vhu
  33:     0x7f556f5b1150 - driver::run_compiler::h8454bca9b6a0718317x
  34:     0x7f556f5b1030 - driver::main_args::closure.147620
  35:     0x7f556ec8b680 - task::TaskBuilder<S>::try_future::closure.100301
  36:     0x7f556ec8b470 - task::TaskBuilder<S>::spawn_internal::closure.100272
  37:     0x7f556feda6d0 - task::spawn_opts::closure.8426
  38:     0x7f556e8cc7e0 - rust_try_inner
  39:     0x7f556e8cc7d0 - rust_try
  40:     0x7f556e872750 - unwind::try::hc32837413dc79d50uId
  41:     0x7f556e8725b0 - task::Task::run::he2343ec4d9f3287dfYc
  42:     0x7f556feda440 - task::spawn_opts::closure.8366
  43:     0x7f556e8741a0 - thread::thread_start::h71dd1e21d4d03408rid
  44:     0x7f556db480c0 - start_thread
  45:     0x7f556e53af89 - __clone
  46:                0x0 - <unknown>

Build failed, waiting for other jobs to finish...

@emk
Copy link
Contributor

emk commented Sep 22, 2014

I'm also seeing this problem with:

rustc 0.12.0-nightly (d7e1bb5ff 2014-09-21 01:00:29 +0000)

…as described in #17454. A code snippet is attached to that issue, but it's basically the same code that everybody else is having problems with.

@emk
Copy link
Contributor

emk commented Sep 22, 2014

I can confirm that the code builds with cargo build:

$ cargo build --verbose
   Compiling replace-map v0.0.1 (file:///home/foo/rust/rust-replace-map)
     Running `rustc src/lib.rs --crate-name replace-map --crate-type lib -g -C metadata=1515ca252146df0a -C extra-filename=-1515ca252146df0a --out-dir /home/foo/rust/rust-replace-map/target --dep-info /home/foo/rust/rust-replace-map/target/.fingerprint/replace-map-1515ca252146df0a/dep-lib-replace-map -L /home/foo/rust/rust-replace-map/target -L /home/foo/rust/rust-replace-map/target/deps`

…but fails with cargo test:

$ cargo test --verbose
   Compiling replace-map v0.0.1 (file:///home/foo/rust/rust-replace-map)
     Running `rustc src/lib.rs --crate-name replace-map --crate-type lib -g --test -C metadata=2317281ca46f881b -C extra-filename=-2317281ca46f881b --out-dir /home/foo/rust/rust-replace-map/target --dep-info /home/foo/rust/rust-replace-map/target/.fingerprint/replace-map-1515ca252146df0a/dep-test-lib-replace-map -L /home/foo/rust/rust-replace-map/target -L /home/foo/rust/rust-replace-map/target/deps`
error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 67u32}, ReScope(64u32))
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 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/libsyntax/diagnostic.rs:169


Could not compile `replace-map`.

@emk
Copy link
Contributor

emk commented Sep 22, 2014

This is falling through a wildcard match clause in debug_info.rs:

        match ty::get(type_).sty {
            ty::ty_nil      |
            ty::ty_bot      |
            ty::ty_bool     |
(...snipped...)
            _ => {
                cx.sess().bug(format!("get_unique_type_id_of_type() - unexpected type: {}, {:?}",
                                      ppaux::ty_to_string(cx.tcx(), type_).as_slice(),
                                      ty::get(type_).sty).as_slice())
            }
        };

This is probably a relatively easy fix—it's generating some sort of unique representation for each type.

@nathantypanski
Copy link
Contributor

@emk you can see my attempt at fixing that here
nathantypanski@8861e1d

It didn't work, for reasons that are unknown to me. But, hey, it adds to that pattern match like you suggest.

@lucidd
Copy link
Contributor

lucidd commented Oct 5, 2014

Getting the same error with

#![feature(unboxed_closures)]
#![feature(unboxed_closure_sugar)]

fn main() {
    let b = 3u;
    let a = |:| b;
}

|&:| and |&mut| result in the same error.

rustc 0.12.0-dev (20f4c45ba 2014-10-04 13:52:09 +0000)

Backtrace:

error: internal compiler error: get_unique_type_id_of_type() - unexpected type: closure, ty_unboxed_closure(syntax::ast::DefId{krate: 0u32, node: 17u32}, ReScope(7u32))
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 'Box<Any>', rust/src/libsyntax/diagnostic.rs:169

stack backtrace:
   1:     0x7f117b3d7ef0 - rt::backtrace::imp::write::h565d36b3d31f4204EAq
   2:     0x7f117b3db080 - failure::on_fail::hdf6d221f6a9a6b896Vq
   3:     0x7f117f962f40 - unwind::begin_unwind_inner::h091583a8cc9e94acIxd
   4:     0x7f117ca074f0 - unwind::begin_unwind::h6201309080514735908
   5:     0x7f117ca07bb0 - diagnostic::Handler::bug::h3becd3518f2c97d9ISF
   6:     0x7f117ffb6010 - driver::session::Session::bug::ha5f6c5d18117a203Mrx
   7:     0x7f11804522a0 - middle::trans::debuginfo::TypeMap::get_unique_type_id_of_type::h3e7f30471c698b62Pip
   8:     0x7f118045b170 - middle::trans::debuginfo::type_metadata::h6d519db29655d0f07ur
   9:     0x7f1180402990 - middle::trans::debuginfo::create_function_debug_context::h45ff9bca3ca8b243L1p
  10:     0x7f118037c540 - middle::trans::base::new_fn_ctxt::hd570c7c13b27ff15Qpe
  11:     0x7f1180406c00 - middle::trans::base::trans_closure::hb146f0d5d34464919Qe
  12:     0x7f11803adf90 - middle::trans::closure::trans_unboxed_closure::h5e34114f89399a1df6i
  13:     0x7f11803983a0 - middle::trans::expr::trans_rvalue_dps_unadjusted::h1a6f65d9f1a5aab5I73
  14:     0x7f118035bec0 - middle::trans::expr::trans_into::h813b1c1f5fd2fb7cLJ2
  15:     0x7f1180434650 - middle::trans::_match::store_local::closure.127381
  16:     0x7f1180434430 - middle::trans::_match::mk_binding_alloca::h16065912786747425502
  17:     0x7f11803ff9b0 - middle::trans::_match::store_local::hc2ec5eb01922eeb5pfi
  18:     0x7f118035b480 - middle::trans::base::init_local::h4138afe3203e44aeJZd
  19:     0x7f118035a840 - middle::trans::controlflow::trans_stmt::hcfdd82d0f99118a4cSY
  20:     0x7f118035c330 - middle::trans::controlflow::trans_block::h5993a8a634369706iXY
  21:     0x7f1180406c00 - middle::trans::base::trans_closure::hb146f0d5d34464919Qe
  22:     0x7f118034e3a0 - middle::trans::base::trans_fn::hafff09b5964c0b32x2e
  23:     0x7f118034b8b0 - middle::trans::base::trans_item::h25b7af64bcdaa99cQlf
  24:     0x7f1180411d30 - middle::trans::base::trans_crate::h38bf11f2c58839936lg
  25:     0x7f118084faa0 - driver::driver::phase_4_translate_to_llvm::hac5e756b10d7155eqSw
  26:     0x7f1180847250 - driver::driver::compile_input::hffca3f088d7d5b21lpw
  27:     0x7f11808c9440 - driver::run_compiler::hd66340705fdb422fCfA
  28:     0x7f11808c9320 - driver::run::closure.146486
  29:     0x7f117ffe3f40 - task::TaskBuilder<S>::try_future::closure.101300
  30:     0x7f117ffe3d30 - task::TaskBuilder<S>::spawn_internal::closure.101271
  31:     0x7f117fcb5550 - task::spawn_opts::closure.8455
  32:     0x7f117f9c3070 - rust_try_inner
  33:     0x7f117f9c3060 - rust_try
  34:     0x7f117f960a00 - unwind::try::h1a920b60f039eb8cqmd
  35:     0x7f117f960890 - task::Task::run::hb8390ba45e7ec26a4Bc
  36:     0x7f117fcb52c0 - task::spawn_opts::closure.8395
  37:     0x7f117f961fe0 - thread::thread_start::h00e0085f8f5c32d4fWc
  38:     0x7f117a788250 - start_thread
  39:     0x7f117f63b3b9 - clone
  40:                0x0 - <unknown>

@bkoropoff
Copy link
Contributor

Taking a look

bkoropoff added a commit to bkoropoff/rust that referenced this issue Oct 5, 2014
bkoropoff added a commit to bkoropoff/rust that referenced this issue Oct 5, 2014
This causes it to hit the previously ICEing debuginfo codepath
bors added a commit that referenced this issue Oct 6, 2014
@dckc
Copy link
Contributor

dckc commented Oct 14, 2014

my symptoms above (#17021 (comment)) seem to have subsided as of rustc 0.13.0-nightly (adb44f5 2014-10-12 00:07:15 +0000)

@tomassedovic
Copy link
Contributor

Yep, #17803 did it for me. We can close this.

@aturon aturon mentioned this issue Oct 16, 2014
47 tasks
@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 25, 2014
RalfJung pushed a commit to RalfJung/rust that referenced this issue Apr 26, 2024
…ykril

Support hovering limits for adts

Fix rust-lang#17009

1. Currently, r-a supports limiting the number of struct fields displayed when hovering. This PR extends it to support enum variants and union fields. Since the display of these three (ADTs) is similar, this PR extends 'hover_show_structFields' to 'hover_show_adtFieldsOrVariants'.
2. This PR also resolved the problem that the layout of ADT was not restricted by display limitations when hovering on the Self type.
3. Additionally, this PR changes the default value of display limitations to `10` (instead of the original `null`), which helps users discover this feature.
RalfJung pushed a commit to RalfJung/rust that referenced this issue Apr 27, 2024
…ykril

Support hovering limits for adts

Fix rust-lang#17009

1. Currently, r-a supports limiting the number of struct fields displayed when hovering. This PR extends it to support enum variants and union fields. Since the display of these three (ADTs) is similar, this PR extends 'hover_show_structFields' to 'hover_show_adtFieldsOrVariants'.
2. This PR also resolved the problem that the layout of ADT was not restricted by display limitations when hovering on the Self type.
3. Additionally, this PR changes the default value of display limitations to `10` (instead of the original `null`), which helps users discover this feature.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-closures Area: Closures (`|…| { … }`) 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.

9 participants