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 implementing Drop for a typedef #16465

Closed
qrlpx opened this issue Aug 12, 2014 · 0 comments · Fixed by #17586
Closed

ICE when implementing Drop for a typedef #16465

qrlpx opened this issue Aug 12, 2014 · 0 comments · Fixed by #17586
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@qrlpx
Copy link

qrlpx commented Aug 12, 2014

Works just fine when using #[unsafe_destructor] though.

Input:

struct Foo<T>{
    x : T
}

type FooInt = Foo<int>;

impl Drop for FooInt {
    fn drop(&mut self){}
}

Output + Backtrace:

time: 0.001 s   parsing
time: 0.000 s   gated feature checking
time: 0.000 s   crate injection
time: 0.000 s   configuration 1
time: 0.004 s   plugin loading
time: 0.000 s   plugin registration
time: 0.005 s   expansion
time: 0.000 s   configuration 2
time: 0.000 s   maybe building test harness
time: 0.000 s   prelude injection
time: 0.000 s   assigning node ids and indexing ast
time: 0.000 s   checking that all macro invocations are gone
time: 0.003 s   external crate/lib resolution
time: 0.000 s   language item collection
time: 0.006 s   resolution
time: 0.000 s   lifetime resolution
time: 0.000 s   looking for entry point
time: 0.000 s   looking for plugin registrar
time: 0.000 s   freevar finding
time: 0.000 s   region resolution
time: 0.000 s   loop checking
time: 0.000 s   stability index
time: 0.000 s   type collecting
time: 0.000 s   variance inference
time: 0.030 s   coherence checking
time: 0.002 s   type checking
time: 0.000 s   check static items
time: 0.000 s   const marking
time: 0.000 s   const checking
time: 0.000 s   privacy checking
time: 0.000 s   intrinsic checking
time: 0.000 s   effect checking
time: 0.000 s   match checking
time: 0.000 s   liveness checking
time: 0.001 s   borrow checking
main.rs:1:1: 1:1 error: internal compiler error: Type parameter T out of range when substituting (root type=T)
main.rs:1 struct Foo<T>{
          ^
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:784

stack backtrace:
   1:     0x7f2397337e70 - rt::backtrace::imp::write::h43dac5486f5e7461t9p
   2:     0x7f239733af10 - failure::on_fail::h1e234ec252bd138bGuq
   3:     0x7f2397b1aa60 - unwind::begin_unwind_inner::h84cc9a0765812e46M8d
   4:     0x7f239357d530 - unwind::begin_unwind::h17476891067112165011
   5:     0x7f239357d480 - diagnostic::SpanHandler::span_bug::hea4ecd8ab239d6d4sTD
   6:     0x7f23980ba330 - driver::session::Session::span_bug::h7fd2887e1af8c8afBZx
   7:     0x7f23981957f0 - middle::subst::SubstFolder<'a>.TypeFolder::fold_ty::he89a40ea2dd4e515DzW
   8:     0x7f2398195700 - middle::subst::T.Subst::subst_spanned::h6422710234986173650
   9:     0x7f23983e98a0 - middle::ty::lookup_field_type::h675255b8f137f788AvG
  10:     0x7f23980c8ec0 - middle::ty::struct_fields::hc7572bd8ced018583DG
  11:     0x7f239840c6d0 - middle::ty::type_contents::tc_ty::hf76377054cac041cOGD
  12:     0x7f23981644d0 - middle::ty::type_contents::h2cef921580c528f8KFD
  13:     0x7f239819d870 - middle::kind::check_item::hfd30a60b0cb9c1b3e3v
  14:     0x7f23981a0580 - middle::kind::check_crate::h7b6fbd4b7694f755ZPv
  15:     0x7f2397ef1f10 - util::common::time::h1559708456005220080
  16:     0x7f239878d750 - driver::driver::phase_3_run_analysis_passes::h7c7295f946d3e92bXsw
  17:     0x7f23987888c0 - driver::driver::compile_input::ha66c682cd414f129cfw
  18:     0x7f239882ec20 - driver::run_compiler::h14caa1c3f03fe8carJz
  19:     0x7f239882eb30 - driver::main_args::closure.136039
  20:     0x7f2398841240 - task::TaskBuilder<S>::try_future::closure.137200
  21:     0x7f2398841040 - task::TaskBuilder<S>::spawn_internal::closure.137177
  22:     0x7f2399276e60 - task::spawn_opts::closure.8314
  23:     0x7f2397b72420 - rust_try_inner
  24:     0x7f2397b72410 - rust_try
  25:     0x7f2397b180c0 - unwind::try::h9ef1228fa05d611fhXd
  26:     0x7f2397b17e60 - task::Task::run::h7037046a47095aa6T4c
  27:     0x7f2399276c20 - task::spawn_opts::closure.8260
  28:     0x7f2397b19ca0 - thread::thread_start::h6cc33e9539afe5013sd
  29:     0x7f2396dce0c0 - start_thread
  30:     0x7f23977e32d9 - __clone
  31:                0x0 - <unknown>

Version:

rustc 0.12.0-pre-nightly (c4a63fabe 2014-08-10 21:56:11 +0000)
Sawyer47 added a commit to Sawyer47/rust that referenced this issue Sep 27, 2014
matthiaskrgr pushed a commit to matthiaskrgr/rust that referenced this issue Feb 5, 2024
minor: Remove `stdx::eprintln` overwrite
bors added a commit to rust-lang-ci/rust that referenced this issue Feb 18, 2024
minor: remove eprintln! macro

`stdx::eprintln!` was remove in rust-lang#16465
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

2 participants