Closed
Description
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>