Closed
Description
Rust version affected
Both stable and nightly:
rustc 1.35.0 (3c235d560 2019-05-20)
rustc 1.37.0-nightly (02564de47 2019-06-10)
How to reproduce
Run cargo doc
on this code:
[email protected]:little-dude/xrl.git
cd xrl
git checkout unbox
cargo doc # note that `cargo build`, `cargo test`, `cargo check` and `cargo clippy` work fine
Stacktrace
error: internal compiler error: src/librustc/hir/def.rs:271: attempted .def_id() on invalid def: Err
thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:635:9
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
1: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:71
2: std::panicking::default_hook::{{closure}}
at src/libstd/sys_common/backtrace.rs:59
at src/libstd/panicking.rs:197
3: std::panicking::default_hook
at src/libstd/panicking.rs:211
4: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:478
5: std::panicking::begin_panic
6: rustc_errors::Handler::bug
7: rustc::util::bug::opt_span_bug_fmt::{{closure}}
8: rustc::ty::context::tls::with_opt::{{closure}}
9: rustc::ty::context::tls::with_context_opt
10: rustc::ty::context::tls::with_opt
11: rustc::util::bug::opt_span_bug_fmt
12: rustc::util::bug::bug_fmt
13: rustc::hir::def::Def::def_id::{{closure}}
14: rustc::hir::def::Def::def_id
15: rustdoc::clean::register_def
at src/librustdoc/clean/mod.rs:4219
16: <rustc::hir::ImplItem as rustdoc::clean::Clean<rustdoc::clean::Item>>::clean
at src/librustdoc/clean/mod.rs:3196
at src/librustdoc/clean/mod.rs:2269
17: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
at src/librustdoc/clean/mod.rs:125
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:587
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/slice/mod.rs:3150
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:587
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/traits/iterator.rs:604
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1852
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1835
18: <rustdoc::doctree::Impl as rustdoc::clean::Clean<alloc::vec::Vec<rustdoc::clean::Item>>>::clean
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1721
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/traits/iterator.rs:1465
at src/librustdoc/clean/mod.rs:125
at src/librustdoc/clean/mod.rs:3815
19: <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::spec_extend
at src/librustdoc/clean/mod.rs:627
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/ops/function.rs:279
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/option.rs:414
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:568
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/flatten.rs:218
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/flatten.rs:48
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1929
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1826
20: <rustdoc::doctree::Module as rustdoc::clean::Clean<rustdoc::clean::Item>>::clean
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1790
at src/librustdoc/clean/mod.rs:627
21: <rustdoc::doctree::Module as rustdoc::clean::Clean<rustdoc::clean::Item>>::clean
at src/librustdoc/clean/mod.rs:621
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:587
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/slice/mod.rs:3150
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:587
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/traits/iterator.rs:604
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1852
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1790
at src/librustdoc/clean/mod.rs:621
22: <rustdoc::doctree::Module as rustdoc::clean::Clean<rustdoc::clean::Item>>::clean
at src/librustdoc/clean/mod.rs:621
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:587
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/slice/mod.rs:3150
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/adapters/mod.rs:587
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/iter/traits/iterator.rs:604
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1852
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/vec.rs:1790
at src/librustdoc/clean/mod.rs:621
23: <rustdoc::visit_ast::RustdocVisitor as rustdoc::clean::Clean<rustdoc::clean::Crate>>::clean
at src/librustdoc/clean/mod.rs:164
24: rustc_interface::passes::BoxedGlobalCtxt::access::{{closure}}
at src/librustdoc/core.rs:512
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/passes.rs:804
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:2004
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:1971
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:1904
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:1970
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:2003
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/passes.rs:804
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e//<::rustc_data_structures::box_region::declare_box_region_type macros>:17
25: rustc_interface::passes::create_global_ctxt::{{closure}}
26: rustdoc::rust_input::{{closure}}
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/liballoc/boxed.rs:907
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_data_structures/box_region.rs:52
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e//<::rustc_data_structures::box_region::declare_box_region_type macros>:19
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/passes.rs:804
at src/librustdoc/core.rs:465
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/interface.rs:120
at src/librustdoc/core.rs:451
at src/librustdoc/lib.rs:450
27: std::panicking::try::do_call
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/panic.rs:309
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/panicking.rs:293
28: __rust_maybe_catch_panic
at src/libpanic_unwind/lib.rs:87
29: rustc_driver::report_ices_to_stderr_if_any
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/panicking.rs:272
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/panic.rs:388
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_driver/lib.rs:1114
30: rustdoc::main_args
at src/librustdoc/lib.rs:447
at src/librustdoc/lib.rs:404
31: std::thread::local::LocalKey<T>::with
at src/librustdoc/lib.rs:98
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/option.rs:414
at src/librustdoc/lib.rs:98
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/util.rs:186
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:1959
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/thread/local.rs:299
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/thread/local.rs:245
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:1951
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/thread/local.rs:299
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libstd/thread/local.rs:245
32: scoped_tls::ScopedKey<T>::set
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc/ty/context.rs:1943
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/util.rs:186
at /cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/librustc_interface/util.rs:182
at /cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libsyntax/lib.rs:101
at /cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137
33: syntax::with_globals
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libsyntax/lib.rs:100
error: aborting due to previous error
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.35.0 (3c235d560 2019-05-20) running on x86_64-unknown-linux-gnu
error: Could not document `xrl`.
Caused by:
process didn't exit successfully: `rustdoc --edition=2018 --crate-name xrl src/lib.rs --color always -o /home/corentin/code/rust/xrl/target/doc -L dependency=/home/corentin/code/rust/xrl/target/debug/deps --extern bytes=/home/corentin/code/rust/xrl/target/debug/deps/libbytes-108147dcc8a98bf1.rmeta --extern futures=/home/corentin/code/rust/xrl/target/debug/deps/libfutures-cff790ae6a3349be.rmeta --extern log=/home/corentin/code/rust/xrl/target/debug/deps/liblog-a8de2cbee05dee45.rmeta --extern serde=/home/corentin/code/rust/xrl/target/debug/deps/libserde-f4ecaf05341de282.rmeta --extern serde_derive=/home/corentin/code/rust/xrl/target/debug/deps/libserde_derive-c80992fe8c56822b.so --extern serde_json=/home/corentin/code/rust/xrl/target/debug/deps/libserde_json-ec94a732172a058b.rmeta --extern syntect=/home/corentin/code/rust/xrl/target/debug/deps/libsyntect-cb5e37e398c2ed09.rmeta --extern tokio=/home/corentin/code/rust/xrl/target/debug/deps/libtokio-1d7926ccc99d0bfa.rmeta --extern tokio_codec=/home/corentin/code/rust/xrl/target/debug/deps/libtokio_codec-3edc61048161bb42.rmeta --extern tokio_process=/home/corentin/code/rust/xrl/target/debug/deps/libtokio_process-3237d53038e010b9.rmeta` (exit code: 1)
Potentially related issue: #54320, although here it happens only with cargo doc
not cargo build