Skip to content

rustdoc ICE on undeclared type name in top level items #31451

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

Closed
kamalmarhubi opened this issue Feb 6, 2016 · 1 comment
Closed

rustdoc ICE on undeclared type name in top level items #31451

kamalmarhubi opened this issue Feb 6, 2016 · 1 comment
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

Comments

@kamalmarhubi
Copy link
Contributor

Any of the following uses of undeclared_type cause an ICE in rustdoc, but not in rustc:

const X: undeclared_type = ();

static Y: undeclared_type= ();

fn foo(x: undeclared_type) {}

fn bar() -> undeclared_type {}

struct Foo;
impl Iterator for Foo {
    type Item = undeclared_type;
}

trait Bar {
    fn bar(x: undeclared_type);
    fn baz() -> undeclared_type;
}

Use of undeclared_type in a local is fine; these all simply report the error without an ICE.

fn foo() {
    let x: undeclared_type;
    let mut y: undeclared_type;
    let v: Vec<undeclared_type>;
    fn bar(x: undeclared_type) {}
    fn baz() -> undeclared_type {}
}

Version

$ multirust run nightly rustdoc --version
rustdoc 1.8.0-nightly (34af2de40 2016-02-05)

Backtrace

$ > env RUST_BACKTRACE=1 multirust run nightly rustdoc ice.rs 2>/dev/null
thread 'rustc' panicked at 'attempted .def_id() on invalid def: Err', ../src/librustc/middle/def.rs:142
stack backtrace:
   1:     0x7fc6d5b55aa0 - sys::backtrace::tracing::imp::write::h5818e2087d5d7662Squ
   2:     0x7fc6d5b5d56b - panicking::default_handler::_$u7b$$u7b$closure$u7d$$u7d$::closure.43119
   3:     0x7fc6d5b5d0c3 - panicking::default_handler::h088b3b337e972033xQy
   4:     0x7fc6d5b26d8c - sys_common::unwind::begin_unwind_inner::hc933f5a4d9faf478qjt
   5:     0x7fc6d5b27828 - sys_common::unwind::begin_unwind_fmt::h3f42798abcf03f9dwit
   6:     0x7fc6d2da92be - middle::def::Def::def_id::hed2a7ab07cae00fahDs
   7:     0x7fc6d61441ab - clean::register_def::he4066bd3c351cfd7Yzj
   8:     0x7fc6d612a941 - clean::resolve_type::hc479600ae8ce84348tj
   9:     0x7fc6d6111911 - clean::hir..Ty.Clean<Type>::clean::h16cd68f68f037fd3FDg
  10:     0x7fc6d6127b51 - vec::Vec<T>.FromIterator<T>::from_iter::h2122181040210988325
  11:     0x7fc6d6126e88 - clean::hir..FnDecl.Clean<FnDecl>::clean::h4d5d3fd69ce983f2Jye
  12:     0x7fc6d6109526 - clean::doctree..Function.Clean<Item>::clean::hb7ba940339834896hme
  13:     0x7fc6d60fe443 - clean::doctree..Module.Clean<Item>::clean::heb45e47aa6a9bdce5gc
  14:     0x7fc6d60fc619 - clean::visit_ast..RustdocVisitor<'a, 'tcx>.Clean<Crate>::clean::he10249ec93bbb9bb08a
  15:     0x7fc6d6172571 - core::run_core::_$u7b$$u7b$closure$u7d$$u7d$::closure.44376
  16:     0x7fc6d6168e6e - rustc_driver::driver::phase_3_run_analysis_passes::_$u7b$$u7b$closure$u7d$$u7d$::closure.43517
  17:     0x7fc6d616692e - middle::ty::context::ctxt<'tcx>::create_and_enter::h15404478717994471727
  18:     0x7fc6d6162985 - driver::phase_3_run_analysis_passes::h18110518989177363509
  19:     0x7fc6d606e7cf - core::run_core::hd43bb783eebbec12Ydk
  20:     0x7fc6d606a678 - sys_common::unwind::try::try_fn::h12960290996695307712
  21:     0x7fc6d5b5366b - __rust_try
  22:     0x7fc6d5b4b52d - sys_common::unwind::inner_try::hf6f098fa5bffde03sgt
  23:     0x7fc6d606c36f - boxed::F.FnBox<A>::call_box::h12408803939679338087
  24:     0x7fc6d5b5bb30 - sys::thread::Thread::new::thread_start::h30e4bd442f22aa292Mx
  25:     0x7fc6cdda50a3 - start_thread
  26:     0x7fc6d57d404c - clone
  27:                0x0 - <unknown>
@nagisa nagisa added the I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ label Feb 7, 2016
@dirk
Copy link
Contributor

dirk commented Feb 9, 2016

I believe this may be a regression caused by #31338. Working on a fix.

Edit: Maybe not, actually. Either way I'm looking into it.

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

No branches or pull requests

3 participants