Closed
Description
I found out about the ICE when my crate dicom-parser
could not have its documentation online on docs.rs (build log). I managed to narrow it down to the code below.
All of the code here builds fine (cargo check
, cargo build
), but on the latest stable and nightly it fails when doing cargo doc
.
Code
use std::io::Write;
/// An encoder with its type erased.
pub type DynEncoder<'w, W> = Box<dyn EncodeTo<W> + 'w>;
/// Type trait for a data element encoder to a single known writer type `W`.
pub trait EncodeTo<W: ?Sized> {}
#[derive(Debug)]
pub struct StatefulEncoder<E>(E);
// the type alias below breaks the compiler
pub type DynStatefulEncoder<'w> = StatefulEncoder<DynEncoder<'w, dyn Write>>;
Originally, DynEncoder
came from a separate crate, dicom-encoding
. To my surprise, using the dependency instead of replicating the symbols to this crate results in a more informative top-level error message of the ICE. With
[dependencies]
dicom-encoding = "0.6.0"
we can instead do:
use std::io::Write;
#[derive(Debug)]
pub struct StatefulEncoder<E>(E);
// the type alias below breaks the compiler
pub type DynStatefulEncoder<'w> = StatefulEncoder<dicom_encoding::transfer_syntax::DynEncoder<'w, dyn Write>>;
The full project can also be found in this repository.
Meta
Reproduced on more than one toolchain and platform, among which:
rustc 1.74.0-nightly (249595b75 2023-08-23)
binary: rustc
commit-hash: 249595b7523fc07a99c1adee90b1947739ca0e5b
commit-date: 2023-08-23
host: x86_64-unknown-linux-gnu
release: 1.74.0-nightly
LLVM version: 17.0.0
rustc 1.72.0 (5680fa18f 2023-08-23)
binary: rustc
commit-hash: 5680fa18feaa87f3ff04063800aec256c3d4b4be
commit-date: 2023-08-23
host: x86_64-unknown-linux-gnu
release: 1.72.0
LLVM version: 16.0.5
rustc 1.73.0-nightly (1d56e3a6d 2023-07-22)
binary: rustc
commit-hash: 1d56e3a6d943062e41165bf07fea5ea8324ae011
commit-date: 2023-07-22
host: x86_64-pc-windows-msvc
release: 1.73.0-nightly
LLVM version: 16.0.5
Error output
Without the dependency:
thread 'rustc' panicked at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/compiler/rustc_errors/src/lib.rs:1635:9:
Box<dyn Any>
stack backtrace:
0: 0x7f19fe6ff33c - std::backtrace_rs::backtrace::libunwind::trace::h910709f6ac8bdc9f
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f19fe6ff33c - std::backtrace_rs::backtrace::trace_unsynchronized::h66c1b9aae6144841
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f19fe6ff33c - std::sys_common::backtrace::_print_fmt::h225f965e4a6dd062
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:67:5
3: 0x7f19fe6ff33c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4f4e7c60db66a770
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7f19fe7654cc - core::fmt::rt::Argument::fmt::h87caa0a583b068c8
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/core/src/fmt/rt.rs:138:9
5: 0x7f19fe7654cc - core::fmt::write::h3b600a18a82b19f5
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/core/src/fmt/mod.rs:1094:21
6: 0x7f19fe6f1e5e - std::io::Write::write_fmt::h90e27a4c5fee0550
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/io/mod.rs:1714:15
7: 0x7f19fe6ff124 - std::sys_common::backtrace::_print::h3aea4dd9a94d323a
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7f19fe6ff124 - std::sys_common::backtrace::print::hbf8b71196d492872
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7f19fe70221a - std::panicking::panic_hook_with_disk_dump::{{closure}}::h6a8880f6e8234529
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:278:22
10: 0x7f19fe701ec9 - std::panicking::panic_hook_with_disk_dump::h8ea3bdb613c8c8a5
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:305:9
11: 0x7f19fd525969 - <rustc_driver_impl[8d3f86e83538be5d]::install_ice_hook::{closure#0} as core[328660574c6e17ab]::ops::function::FnOnce<(&core[328660574c6e17ab]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
12: 0x7f19fe702ac0 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h21e710b40303a14c
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/alloc/src/boxed.rs:2021:9
13: 0x7f19fe702ac0 - std::panicking::rust_panic_with_hook::h006994873154b18b
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:733:13
14: 0x7f19fdafadd1 - std[3de2780fbf87294b]::panicking::begin_panic::<rustc_errors[322037634ba0d3c5]::ExplicitBug>::{closure#0}
15: 0x7f19fdaf9246 - std[3de2780fbf87294b]::sys_common::backtrace::__rust_end_short_backtrace::<std[3de2780fbf87294b]::panicking::begin_panic<rustc_errors[322037634ba0d3c5]::ExplicitBug>::{closure#0}, !>
16: 0x7f19fda54206 - std[3de2780fbf87294b]::panicking::begin_panic::<rustc_errors[322037634ba0d3c5]::ExplicitBug>
17: 0x7f19fda70f34 - <rustc_errors[322037634ba0d3c5]::HandlerInner>::bug::<alloc[a0deb0dd21da67ed]::string::String>
18: 0x7f19fda70dc6 - <rustc_errors[322037634ba0d3c5]::Handler>::bug::<alloc[a0deb0dd21da67ed]::string::String>
19: 0x7f19fda9e21c - rustc_middle[4d497bf664395237]::util::bug::opt_span_bug_fmt::<rustc_span[498346d9655021fc]::span_encoding::Span>::{closure#0}
20: 0x7f19fda9c8ca - rustc_middle[4d497bf664395237]::ty::context::tls::with_opt::<rustc_middle[4d497bf664395237]::util::bug::opt_span_bug_fmt<rustc_span[498346d9655021fc]::span_encoding::Span>::{closure#0}, !>::{closure#0}
21: 0x7f19fda9c898 - rustc_middle[4d497bf664395237]::ty::context::tls::with_context_opt::<rustc_middle[4d497bf664395237]::ty::context::tls::with_opt<rustc_middle[4d497bf664395237]::util::bug::opt_span_bug_fmt<rustc_span[498346d9655021fc]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
22: 0x7f19fc0966d0 - rustc_middle[4d497bf664395237]::util::bug::bug_fmt
23: 0x7f19fc012320 - rustc_hir_analysis[11d5fd4bad002d36]::collect::resolve_bound_vars::object_lifetime_default
24: 0x7f19fb633908 - rustc_query_impl[54fb8ce76ffe27d7]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[54fb8ce76ffe27d7]::query_impl::object_lifetime_default::dynamic_query::{closure#2}::{closure#0}, rustc_middle[4d497bf664395237]::query::erase::Erased<[u8; 8usize]>>
25: 0x7f19fb6338d1 - <rustc_query_impl[54fb8ce76ffe27d7]::query_impl::object_lifetime_default::dynamic_query::{closure#2} as core[328660574c6e17ab]::ops::function::FnOnce<(rustc_middle[4d497bf664395237]::ty::context::TyCtxt, rustc_span[498346d9655021fc]::def_id::DefId)>>::call_once
26: 0x7f19fb644615 - rustc_query_system[c8323b2e3373b6b6]::query::plumbing::try_execute_query::<rustc_query_impl[54fb8ce76ffe27d7]::DynamicConfig<rustc_query_system[c8323b2e3373b6b6]::query::caches::DefaultCache<rustc_span[498346d9655021fc]::def_id::DefId, rustc_middle[4d497bf664395237]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[54fb8ce76ffe27d7]::plumbing::QueryCtxt, false>
27: 0x7f19fceb47e2 - rustc_query_impl[54fb8ce76ffe27d7]::query_impl::object_lifetime_default::get_query_non_incr::__rust_end_short_backtrace
28: 0x55716f5242af - rustc_middle[4d497bf664395237]::query::plumbing::query_get_at::<rustc_query_system[c8323b2e3373b6b6]::query::caches::DefaultCache<rustc_span[498346d9655021fc]::def_id::DefId, rustc_middle[4d497bf664395237]::query::erase::Erased<[u8; 8usize]>>>
29: 0x55716f548cc5 - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
30: 0x55716f36df3f - <&mut rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0} as core[328660574c6e17ab]::ops::function::FnMut<((usize, rustc_middle[4d497bf664395237]::ty::sty::Binder<&rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>),)>>::call_mut
31: 0x55716f4c7d07 - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::GenericArg> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::GenericArg, core[328660574c6e17ab]::iter::adapters::filter_map::FilterMap<core[328660574c6e17ab]::iter::adapters::enumerate::Enumerate<core[328660574c6e17ab]::iter::adapters::map::Map<core[328660574c6e17ab]::slice::iter::Iter<rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>, <rustc_middle[4d497bf664395237]::ty::sty::Binder<&[rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
32: 0x55716f371748 - rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args
33: 0x55716f3718a7 - rustdoc[b96d18e868a406d4]::clean::utils::external_path
34: 0x55716f5495eb - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
35: 0x55716f36df3f - <&mut rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0} as core[328660574c6e17ab]::ops::function::FnMut<((usize, rustc_middle[4d497bf664395237]::ty::sty::Binder<&rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>),)>>::call_mut
36: 0x55716f4c7d07 - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::GenericArg> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::GenericArg, core[328660574c6e17ab]::iter::adapters::filter_map::FilterMap<core[328660574c6e17ab]::iter::adapters::enumerate::Enumerate<core[328660574c6e17ab]::iter::adapters::map::Map<core[328660574c6e17ab]::slice::iter::Iter<rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>, <rustc_middle[4d497bf664395237]::ty::sty::Binder<&[rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
37: 0x55716f371748 - rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args
38: 0x55716f3718a7 - rustdoc[b96d18e868a406d4]::clean::utils::external_path
39: 0x55716f5480ca - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
40: 0x55716f36df3f - <&mut rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0} as core[328660574c6e17ab]::ops::function::FnMut<((usize, rustc_middle[4d497bf664395237]::ty::sty::Binder<&rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>),)>>::call_mut
41: 0x55716f4c7d07 - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::GenericArg> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::GenericArg, core[328660574c6e17ab]::iter::adapters::filter_map::FilterMap<core[328660574c6e17ab]::iter::adapters::enumerate::Enumerate<core[328660574c6e17ab]::iter::adapters::map::Map<core[328660574c6e17ab]::slice::iter::Iter<rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>, <rustc_middle[4d497bf664395237]::ty::sty::Binder<&[rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
42: 0x55716f371748 - rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args
43: 0x55716f3718a7 - rustdoc[b96d18e868a406d4]::clean::utils::external_path
44: 0x55716f5480ca - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
45: 0x55716f528315 - <&mut rustdoc[b96d18e868a406d4]::clean::clean_doc_module::{closure#2} as core[328660574c6e17ab]::ops::function::FnOnce<(&(&rustc_hir[dd5c45a8227164a5]::hir::Item, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::symbol::Symbol>, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::def_id::LocalDefId>),)>>::call_once
46: 0x55716f4c907d - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::Item> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::Item, core[328660574c6e17ab]::iter::adapters::flatten::FlatMap<indexmap[120790489cfb758c]::map::iter::Values<(rustc_span[498346d9655021fc]::def_id::LocalDefId, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::symbol::Symbol>), (&rustc_hir[dd5c45a8227164a5]::hir::Item, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::symbol::Symbol>, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::def_id::LocalDefId>)>, alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::Item>, rustdoc[b96d18e868a406d4]::clean::clean_doc_module::{closure#2}>>>::spec_extend
47: 0x55716f52b89b - rustdoc[b96d18e868a406d4]::clean::clean_doc_module
48: 0x55716f37113c - rustdoc[b96d18e868a406d4]::clean::utils::krate
49: 0x55716f4f1d44 - <rustc_session[b6932d4e5e79a3c2]::session::Session>::time::<(rustdoc[b96d18e868a406d4]::clean::types::Crate, rustdoc[b96d18e868a406d4]::config::RenderOptions, rustdoc[b96d18e868a406d4]::formats::cache::Cache), rustdoc[b96d18e868a406d4]::main_args::{closure#1}::{closure#0}::{closure#0}::{closure#0}>
50: 0x55716f5a96a2 - <rustc_middle[4d497bf664395237]::ty::context::GlobalCtxt>::enter::<rustdoc[b96d18e868a406d4]::main_args::{closure#1}::{closure#0}::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>
51: 0x55716f4f6bdc - <scoped_tls[b5ce6b2cb5f40401]::ScopedKey<rustc_span[498346d9655021fc]::SessionGlobals>>::set::<rustc_interface[5749929743a7739d]::interface::run_compiler<core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>, rustdoc[b96d18e868a406d4]::main_args::{closure#1}>::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>
52: 0x55716f415639 - std[3de2780fbf87294b]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[5749929743a7739d]::util::run_in_thread_pool_with_globals<rustc_interface[5749929743a7739d]::interface::run_compiler<core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>, rustdoc[b96d18e868a406d4]::main_args::{closure#1}>::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>
53: 0x55716f525bdb - <<std[3de2780fbf87294b]::thread::Builder>::spawn_unchecked_<rustc_interface[5749929743a7739d]::util::run_in_thread_pool_with_globals<rustc_interface[5749929743a7739d]::interface::run_compiler<core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>, rustdoc[b96d18e868a406d4]::main_args::{closure#1}>::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>::{closure#1} as core[328660574c6e17ab]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
54: 0x7f19fe70d425 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h07273d00f835f9f4
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/alloc/src/boxed.rs:2007:9
55: 0x7f19fe70d425 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfd47bb1abc348520
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/alloc/src/boxed.rs:2007:9
56: 0x7f19fe70d425 - std::sys::unix::thread::Thread::new::thread_start::h98e1ddafb85f3672
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys/unix/thread.rs:108:17
57: 0x7f19fa08c9eb - <unknown>
58: 0x7f19fa110ebc - <unknown>
59: 0x0 - <unknown>
rustc version: 1.74.0-nightly (249595b75 2023-08-23)
platform: x86_64-unknown-linux-gnu
query stack during panic:
#0 [object_lifetime_default] looking up lifetime defaults for generic parameter `encoding::EncodeTo`
end of query stack
with the dependency dicom-encoding
:
thread 'rustc' panicked at compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs:205:1:
DefId(20:797 ~ dicom_encoding[e27c]::encode::EncodeTo) does not have a "object_lifetime_default"
stack backtrace:
0: 0x7faad72fd33c - std::backtrace_rs::backtrace::libunwind::trace::h910709f6ac8bdc9f
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7faad72fd33c - std::backtrace_rs::backtrace::trace_unsynchronized::h66c1b9aae6144841
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7faad72fd33c - std::sys_common::backtrace::_print_fmt::h225f965e4a6dd062
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:67:5
3: 0x7faad72fd33c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4f4e7c60db66a770
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7faad73634cc - core::fmt::rt::Argument::fmt::h87caa0a583b068c8
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/core/src/fmt/rt.rs:138:9
5: 0x7faad73634cc - core::fmt::write::h3b600a18a82b19f5
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/core/src/fmt/mod.rs:1094:21
6: 0x7faad72efe5e - std::io::Write::write_fmt::h90e27a4c5fee0550
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/io/mod.rs:1714:15
7: 0x7faad72fd124 - std::sys_common::backtrace::_print::h3aea4dd9a94d323a
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7faad72fd124 - std::sys_common::backtrace::print::hbf8b71196d492872
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7faad730021a - std::panicking::panic_hook_with_disk_dump::{{closure}}::h6a8880f6e8234529
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:278:22
10: 0x7faad72ffec9 - std::panicking::panic_hook_with_disk_dump::h8ea3bdb613c8c8a5
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:305:9
11: 0x7faad6125969 - <rustc_driver_impl[8d3f86e83538be5d]::install_ice_hook::{closure#0} as core[328660574c6e17ab]::ops::function::FnOnce<(&core[328660574c6e17ab]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
12: 0x7faad7300ac0 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h21e710b40303a14c
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/alloc/src/boxed.rs:2021:9
13: 0x7faad7300ac0 - std::panicking::rust_panic_with_hook::h006994873154b18b
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:733:13
14: 0x7faad7300847 - std::panicking::begin_panic_handler::{{closure}}::hcca9a8f2a8a2254b
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:621:13
15: 0x7faad72fd866 - std::sys_common::backtrace::__rust_end_short_backtrace::ha419d4c6c0af0a51
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys_common/backtrace.rs:170:18
16: 0x7faad7300592 - rust_begin_unwind
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/panicking.rs:617:5
17: 0x7faad735f8d3 - core::panicking::panic_fmt::h1243a42fc81a0e60
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/core/src/panicking.rs:67:14
18: 0x7faad65d47a2 - rustc_metadata[c78f94cd9dcbafa]::rmeta::decoder::cstore_impl::provide_extern::object_lifetime_default::{closure#2}
19: 0x7faad5a1588b - rustc_metadata[c78f94cd9dcbafa]::rmeta::decoder::cstore_impl::provide_extern::object_lifetime_default
20: 0x7faad4233919 - rustc_query_impl[54fb8ce76ffe27d7]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[54fb8ce76ffe27d7]::query_impl::object_lifetime_default::dynamic_query::{closure#2}::{closure#0}, rustc_middle[4d497bf664395237]::query::erase::Erased<[u8; 8usize]>>
21: 0x7faad42338d1 - <rustc_query_impl[54fb8ce76ffe27d7]::query_impl::object_lifetime_default::dynamic_query::{closure#2} as core[328660574c6e17ab]::ops::function::FnOnce<(rustc_middle[4d497bf664395237]::ty::context::TyCtxt, rustc_span[498346d9655021fc]::def_id::DefId)>>::call_once
22: 0x7faad4244615 - rustc_query_system[c8323b2e3373b6b6]::query::plumbing::try_execute_query::<rustc_query_impl[54fb8ce76ffe27d7]::DynamicConfig<rustc_query_system[c8323b2e3373b6b6]::query::caches::DefaultCache<rustc_span[498346d9655021fc]::def_id::DefId, rustc_middle[4d497bf664395237]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[54fb8ce76ffe27d7]::plumbing::QueryCtxt, false>
23: 0x7faad5ab47e2 - rustc_query_impl[54fb8ce76ffe27d7]::query_impl::object_lifetime_default::get_query_non_incr::__rust_end_short_backtrace
24: 0x5623fe48d2af - rustc_middle[4d497bf664395237]::query::plumbing::query_get_at::<rustc_query_system[c8323b2e3373b6b6]::query::caches::DefaultCache<rustc_span[498346d9655021fc]::def_id::DefId, rustc_middle[4d497bf664395237]::query::erase::Erased<[u8; 8usize]>>>
25: 0x5623fe4b1cc5 - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
26: 0x5623fe2d6f3f - <&mut rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0} as core[328660574c6e17ab]::ops::function::FnMut<((usize, rustc_middle[4d497bf664395237]::ty::sty::Binder<&rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>),)>>::call_mut
27: 0x5623fe430d07 - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::GenericArg> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::GenericArg, core[328660574c6e17ab]::iter::adapters::filter_map::FilterMap<core[328660574c6e17ab]::iter::adapters::enumerate::Enumerate<core[328660574c6e17ab]::iter::adapters::map::Map<core[328660574c6e17ab]::slice::iter::Iter<rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>, <rustc_middle[4d497bf664395237]::ty::sty::Binder<&[rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
28: 0x5623fe2da748 - rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args
29: 0x5623fe2da8a7 - rustdoc[b96d18e868a406d4]::clean::utils::external_path
30: 0x5623fe4b25eb - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
31: 0x5623fe2d6f3f - <&mut rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0} as core[328660574c6e17ab]::ops::function::FnMut<((usize, rustc_middle[4d497bf664395237]::ty::sty::Binder<&rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>),)>>::call_mut
32: 0x5623fe430d07 - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::GenericArg> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::GenericArg, core[328660574c6e17ab]::iter::adapters::filter_map::FilterMap<core[328660574c6e17ab]::iter::adapters::enumerate::Enumerate<core[328660574c6e17ab]::iter::adapters::map::Map<core[328660574c6e17ab]::slice::iter::Iter<rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>, <rustc_middle[4d497bf664395237]::ty::sty::Binder<&[rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
33: 0x5623fe2da748 - rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args
34: 0x5623fe2da8a7 - rustdoc[b96d18e868a406d4]::clean::utils::external_path
35: 0x5623fe4b10ca - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
36: 0x5623fe2d6f3f - <&mut rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0} as core[328660574c6e17ab]::ops::function::FnMut<((usize, rustc_middle[4d497bf664395237]::ty::sty::Binder<&rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>),)>>::call_mut
37: 0x5623fe430d07 - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::GenericArg> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::GenericArg, core[328660574c6e17ab]::iter::adapters::filter_map::FilterMap<core[328660574c6e17ab]::iter::adapters::enumerate::Enumerate<core[328660574c6e17ab]::iter::adapters::map::Map<core[328660574c6e17ab]::slice::iter::Iter<rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg>, <rustc_middle[4d497bf664395237]::ty::sty::Binder<&[rustc_middle[4d497bf664395237]::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
38: 0x5623fe2da748 - rustdoc[b96d18e868a406d4]::clean::utils::ty_args_to_args
39: 0x5623fe2da8a7 - rustdoc[b96d18e868a406d4]::clean::utils::external_path
40: 0x5623fe4b10ca - rustdoc[b96d18e868a406d4]::clean::clean_middle_ty
41: 0x5623fe491315 - <&mut rustdoc[b96d18e868a406d4]::clean::clean_doc_module::{closure#2} as core[328660574c6e17ab]::ops::function::FnOnce<(&(&rustc_hir[dd5c45a8227164a5]::hir::Item, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::symbol::Symbol>, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::def_id::LocalDefId>),)>>::call_once
42: 0x5623fe43207d - <alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::Item> as alloc[a0deb0dd21da67ed]::vec::spec_extend::SpecExtend<rustdoc[b96d18e868a406d4]::clean::types::Item, core[328660574c6e17ab]::iter::adapters::flatten::FlatMap<indexmap[120790489cfb758c]::map::iter::Values<(rustc_span[498346d9655021fc]::def_id::LocalDefId, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::symbol::Symbol>), (&rustc_hir[dd5c45a8227164a5]::hir::Item, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::symbol::Symbol>, core[328660574c6e17ab]::option::Option<rustc_span[498346d9655021fc]::def_id::LocalDefId>)>, alloc[a0deb0dd21da67ed]::vec::Vec<rustdoc[b96d18e868a406d4]::clean::types::Item>, rustdoc[b96d18e868a406d4]::clean::clean_doc_module::{closure#2}>>>::spec_extend
43: 0x5623fe49489b - rustdoc[b96d18e868a406d4]::clean::clean_doc_module
44: 0x5623fe2da13c - rustdoc[b96d18e868a406d4]::clean::utils::krate
45: 0x5623fe45ad44 - <rustc_session[b6932d4e5e79a3c2]::session::Session>::time::<(rustdoc[b96d18e868a406d4]::clean::types::Crate, rustdoc[b96d18e868a406d4]::config::RenderOptions, rustdoc[b96d18e868a406d4]::formats::cache::Cache), rustdoc[b96d18e868a406d4]::main_args::{closure#1}::{closure#0}::{closure#0}::{closure#0}>
46: 0x5623fe5126a2 - <rustc_middle[4d497bf664395237]::ty::context::GlobalCtxt>::enter::<rustdoc[b96d18e868a406d4]::main_args::{closure#1}::{closure#0}::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>
47: 0x5623fe45fbdc - <scoped_tls[b5ce6b2cb5f40401]::ScopedKey<rustc_span[498346d9655021fc]::SessionGlobals>>::set::<rustc_interface[5749929743a7739d]::interface::run_compiler<core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>, rustdoc[b96d18e868a406d4]::main_args::{closure#1}>::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>
48: 0x5623fe37e639 - std[3de2780fbf87294b]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[5749929743a7739d]::util::run_in_thread_pool_with_globals<rustc_interface[5749929743a7739d]::interface::run_compiler<core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>, rustdoc[b96d18e868a406d4]::main_args::{closure#1}>::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>
49: 0x5623fe48ebdb - <<std[3de2780fbf87294b]::thread::Builder>::spawn_unchecked_<rustc_interface[5749929743a7739d]::util::run_in_thread_pool_with_globals<rustc_interface[5749929743a7739d]::interface::run_compiler<core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>, rustdoc[b96d18e868a406d4]::main_args::{closure#1}>::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[328660574c6e17ab]::result::Result<(), rustc_span[498346d9655021fc]::ErrorGuaranteed>>::{closure#1} as core[328660574c6e17ab]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
50: 0x7faad730b425 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h07273d00f835f9f4
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/alloc/src/boxed.rs:2007:9
51: 0x7faad730b425 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfd47bb1abc348520
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/alloc/src/boxed.rs:2007:9
52: 0x7faad730b425 - std::sys::unix::thread::Thread::new::thread_start::h98e1ddafb85f3672
at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/library/std/src/sys/unix/thread.rs:108:17
53: 0x7faad2c8c9eb - <unknown>
54: 0x7faad2d10ebc - <unknown>
55: 0x0 - <unknown>
rustc version: 1.74.0-nightly (249595b75 2023-08-23)
platform: x86_64-unknown-linux-gnu
query stack during panic:
#0 [object_lifetime_default] looking up lifetime defaults for generic parameter `dicom_encoding::encode::EncodeTo`
end of query stack
Backtrace
error: internal compiler error: compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs:994:9: expected GenericParam for object_lifetime_default
thread 'rustc' panicked at /rustc/249595b7523fc07a99c1adee90b1947739ca0e5b/compiler/rustc_errors/src/lib.rs:1635:9:
Box<dyn Any>
stack backtrace:
0: std::panicking::begin_panic::<rustc_errors::ExplicitBug>
1: <rustc_errors::HandlerInner>::bug::<alloc::string::String>
2: <rustc_errors::Handler>::bug::<alloc::string::String>
3: rustc_middle::util::bug::opt_span_bug_fmt::<rustc_span::span_encoding::Span>::{closure#0}
4: rustc_middle::ty::context::tls::with_opt::<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}
5: rustc_middle::ty::context::tls::with_context_opt::<rustc_middle::ty::context::tls::with_opt<rustc_middle::util::bug::opt_span_bug_fmt<rustc_span::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
6: rustc_middle::util::bug::bug_fmt
7: rustc_hir_analysis::collect::resolve_bound_vars::object_lifetime_default
[... omitted 2 frames ...]
8: rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::query::erase::Erased<[u8; 8]>>>
9: rustdoc::clean::clean_middle_ty
10: <&mut rustdoc::clean::utils::ty_args_to_args::{closure#0} as core::ops::function::FnMut<((usize, rustc_middle::ty::sty::Binder<&rustc_middle::ty::generic_args::GenericArg>),)>>::call_mut
11: <alloc::vec::Vec<rustdoc::clean::types::GenericArg> as alloc::vec::spec_extend::SpecExtend<rustdoc::clean::types::GenericArg, core::iter::adapters::filter_map::FilterMap<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>, <rustc_middle::ty::sty::Binder<&[rustc_middle::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
12: rustdoc::clean::utils::ty_args_to_args
13: rustdoc::clean::utils::external_path
14: rustdoc::clean::clean_middle_ty
15: <&mut rustdoc::clean::utils::ty_args_to_args::{closure#0} as core::ops::function::FnMut<((usize, rustc_middle::ty::sty::Binder<&rustc_middle::ty::generic_args::GenericArg>),)>>::call_mut
16: <alloc::vec::Vec<rustdoc::clean::types::GenericArg> as alloc::vec::spec_extend::SpecExtend<rustdoc::clean::types::GenericArg, core::iter::adapters::filter_map::FilterMap<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>, <rustc_middle::ty::sty::Binder<&[rustc_middle::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
17: rustdoc::clean::utils::ty_args_to_args
18: rustdoc::clean::utils::external_path
19: rustdoc::clean::clean_middle_ty
20: <&mut rustdoc::clean::utils::ty_args_to_args::{closure#0} as core::ops::function::FnMut<((usize, rustc_middle::ty::sty::Binder<&rustc_middle::ty::generic_args::GenericArg>),)>>::call_mut
21: <alloc::vec::Vec<rustdoc::clean::types::GenericArg> as alloc::vec::spec_extend::SpecExtend<rustdoc::clean::types::GenericArg, core::iter::adapters::filter_map::FilterMap<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>, <rustc_middle::ty::sty::Binder<&[rustc_middle::ty::generic_args::GenericArg]>>::iter::{closure#0}>>, rustdoc::clean::utils::ty_args_to_args::{closure#0}>>>::spec_extend
22: rustdoc::clean::utils::ty_args_to_args
23: rustdoc::clean::utils::external_path
24: rustdoc::clean::clean_middle_ty
25: <&mut rustdoc::clean::clean_doc_module::{closure#2} as core::ops::function::FnOnce<(&(&rustc_hir::hir::Item, core::option::Option<rustc_span::symbol::Symbol>, core::option::Option<rustc_span::def_id::LocalDefId>),)>>::call_once
26: <alloc::vec::Vec<rustdoc::clean::types::Item> as alloc::vec::spec_extend::SpecExtend<rustdoc::clean::types::Item, core::iter::adapters::flatten::FlatMap<indexmap::map::iter::Values<(rustc_span::def_id::LocalDefId, core::option::Option<rustc_span::symbol::Symbol>), (&rustc_hir::hir::Item, core::option::Option<rustc_span::symbol::Symbol>, core::option::Option<rustc_span::def_id::LocalDefId>)>, alloc::vec::Vec<rustdoc::clean::types::Item>, rustdoc::clean::clean_doc_module::{closure#2}>>>::spec_extend
27: rustdoc::clean::clean_doc_module
28: rustdoc::clean::utils::krate
29: <rustc_session::session::Session>::time::<(rustdoc::clean::types::Crate, rustdoc::config::RenderOptions, rustdoc::formats::cache::Cache), rustdoc::main_args::{closure#1}::{closure#0}::{closure#0}::{closure#0}>
30: <rustc_middle::ty::context::GlobalCtxt>::enter::<rustdoc::main_args::{closure#1}::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
31: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustdoc::main_args::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Metadata
Metadata
Assignees
Labels
Area: Documentation that has been re-exported from a different crateCategory: This is a bug.Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️Critical priorityStatus: A Minimal Complete and Verifiable Example has been found for this issueRelevant to the rustdoc team, which will review and decide on the PR/issue.Performance or correctness regression from one stable version to another.