Closed
Description
Code
./src/test/ui/type-alias-impl-trait/not_well_formed.rs
#![feature(type_alias_impl_trait)]
fn main() {}
trait TraitWithAssoc {
type Assoc;
}
type Foo<V> = impl Trait<V::Assoc>; //~ associated type `Assoc` not found for `V`
trait Trait<U> {}
impl<W> Trait<W> for () {}
fn foo_desugared<T: TraitWithAssoc>(_: T) -> Foo<T> {
()
}
Meta
rustdoc 1.62.0-nightly (4ca19e09d 2022-04-19)
binary: rustdoc
commit-hash: 4ca19e09d302a4cbde14f9cb1bc109179dc824cd
commit-date: 2022-04-19
host: x86_64-unknown-linux-gnu
release: 1.62.0-nightly
LLVM version: 14.0.1
Error output
<output>
Backtrace
error[E0220]: associated type `Assoc` not found for `V`
--> ./src/test/ui/type-alias-impl-trait/not_well_formed.rs:9:29
|
9 | type Foo<V> = impl Trait<V::Assoc>; //~ associated type `Assoc` not found for `V`
| ^^^^^ associated type `Assoc` not found
thread 'rustc' panicked at 'Error', src/librustdoc/clean/mod.rs:1671:29
stack backtrace:
0: 0x7f242c69d85d - std::backtrace_rs::backtrace::libunwind::trace::hd79e9b51bb0b02a3
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f242c69d85d - std::backtrace_rs::backtrace::trace_unsynchronized::hc4b2624d11f57391
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f242c69d85d - std::sys_common::backtrace::_print_fmt::h5b920b6df28041d5
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:66:5
3: 0x7f242c69d85d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h01f2db48eea34166
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:45:22
4: 0x7f242c6f8efc - core::fmt::write::h743b8fce003c331c
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/fmt/mod.rs:1194:17
5: 0x7f242c68f041 - std::io::Write::write_fmt::h55edc38b905db9b5
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/io/mod.rs:1655:15
6: 0x7f242c6a0575 - std::sys_common::backtrace::_print::h72c54a6b7a86b7bf
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:48:5
7: 0x7f242c6a0575 - std::sys_common::backtrace::print::h8b541992f5fa33c9
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:35:9
8: 0x7f242c6a0575 - std::panicking::default_hook::{{closure}}::h47e8a61e5844dea4
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:295:22
9: 0x7f242c6a01e9 - std::panicking::default_hook::h65ae1796882c178c
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:314:9
10: 0x7f242cecc5a1 - rustc_driver[caca827775d68846]::DEFAULT_HOOK::{closure#0}::{closure#0}
11: 0x7f242c6a0d46 - std::panicking::rust_panic_with_hook::h1c3eee211b989bad
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:702:17
12: 0x7f242c6a0b09 - std::panicking::begin_panic_handler::{{closure}}::h653627205f5b2cdc
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:586:13
13: 0x7f242c69dd14 - std::sys_common::backtrace::__rust_end_short_backtrace::h36d845a914b6aae7
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys_common/backtrace.rs:138:18
14: 0x7f242c6a0879 - rust_begin_unwind
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/panicking.rs:584:5
15: 0x7f242c665bd3 - core::panicking::panic_fmt::hb6389d787a80a806
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/core/src/panicking.rs:142:14
16: 0x55d2d92f5831 - <rustc_middle[7c51428e7903af24]::ty::Ty as rustdoc[863d67c12390cb82]::clean::Clean<rustdoc[863d67c12390cb82]::clean::types::Type>>::clean
17: 0x55d2d94ed3b7 - <&mut rustdoc[863d67c12390cb82]::clean::utils::substs_to_args::{closure#0} as core[864d7ae58f623181]::ops::function::FnMut<(&rustc_middle[7c51428e7903af24]::ty::subst::GenericArg,)>>::call_mut
18: 0x55d2d93910ee - <alloc[642b2cd0ec1e1a81]::vec::Vec<rustdoc[863d67c12390cb82]::clean::types::GenericArg> as alloc[642b2cd0ec1e1a81]::vec::spec_from_iter::SpecFromIter<rustdoc[863d67c12390cb82]::clean::types::GenericArg, core[864d7ae58f623181]::iter::adapters::filter_map::FilterMap<core[864d7ae58f623181]::slice::iter::Iter<rustc_middle[7c51428e7903af24]::ty::subst::GenericArg>, rustdoc[863d67c12390cb82]::clean::utils::substs_to_args::{closure#0}>>>::from_iter
19: 0x55d2d94f09ec - rustdoc[863d67c12390cb82]::clean::utils::external_path
20: 0x55d2d943884a - rustdoc[863d67c12390cb82]::clean::clean_trait_ref_with_bindings
21: 0x55d2d9438fe7 - rustdoc[863d67c12390cb82]::clean::clean_poly_trait_ref_with_bindings
22: 0x55d2d94319f5 - <&mut <rustc_middle[7c51428e7903af24]::ty::Ty as rustdoc[863d67c12390cb82]::clean::Clean<rustdoc[863d67c12390cb82]::clean::types::Type>>::clean::{closure#3} as core[864d7ae58f623181]::ops::function::FnMut<(&rustc_middle[7c51428e7903af24]::ty::Predicate,)>>::call_mut
23: 0x55d2d9391bfe - <alloc[642b2cd0ec1e1a81]::vec::Vec<rustdoc[863d67c12390cb82]::clean::types::GenericBound> as alloc[642b2cd0ec1e1a81]::vec::spec_from_iter::SpecFromIter<rustdoc[863d67c12390cb82]::clean::types::GenericBound, core[864d7ae58f623181]::iter::adapters::filter_map::FilterMap<core[864d7ae58f623181]::slice::iter::Iter<rustc_middle[7c51428e7903af24]::ty::Predicate>, <rustc_middle[7c51428e7903af24]::ty::Ty as rustdoc[863d67c12390cb82]::clean::Clean<rustdoc[863d67c12390cb82]::clean::types::Type>>::clean::{closure#3}>>>::from_iter
24: 0x55d2d92f496f - <rustc_middle[7c51428e7903af24]::ty::Ty as rustdoc[863d67c12390cb82]::clean::Clean<rustdoc[863d67c12390cb82]::clean::types::Type>>::clean
25: 0x55d2d953dd6f - <rustdoc[863d67c12390cb82]::core::DocContext>::with_param_env::<alloc[642b2cd0ec1e1a81]::vec::Vec<rustdoc[863d67c12390cb82]::clean::types::Item>, rustdoc[863d67c12390cb82]::clean::clean_maybe_renamed_item::{closure#1}>
26: 0x55d2d93885a5 - <alloc[642b2cd0ec1e1a81]::vec::Vec<rustdoc[863d67c12390cb82]::clean::types::Item> as alloc[642b2cd0ec1e1a81]::vec::spec_extend::SpecExtend<rustdoc[863d67c12390cb82]::clean::types::Item, core[864d7ae58f623181]::iter::adapters::flatten::FlatMap<core[864d7ae58f623181]::slice::iter::Iter<(&rustc_hir[aeeaacae47778f8d]::hir::Item, core[864d7ae58f623181]::option::Option<rustc_span[ff646084812721ee]::symbol::Symbol>)>, alloc[642b2cd0ec1e1a81]::vec::Vec<rustdoc[863d67c12390cb82]::clean::types::Item>, <rustdoc[863d67c12390cb82]::visit_ast::Module as rustdoc[863d67c12390cb82]::clean::Clean<rustdoc[863d67c12390cb82]::clean::types::Item>>::clean::{closure#2}>>>::spec_extend
27: 0x55d2d9437fe6 - <rustdoc[863d67c12390cb82]::visit_ast::Module as rustdoc[863d67c12390cb82]::clean::Clean<rustdoc[863d67c12390cb82]::clean::types::Item>>::clean
28: 0x55d2d94f0083 - rustdoc[863d67c12390cb82]::clean::utils::krate
29: 0x55d2d955f808 - rustdoc[863d67c12390cb82]::main_options::{closure#0}::{closure#0}::{closure#1}
30: 0x55d2d94ff889 - <rustc_interface[dacacaf3651fe347]::passes::QueryContext>::enter::<rustdoc[863d67c12390cb82]::main_options::{closure#0}::{closure#0}::{closure#1}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
31: 0x55d2d944de14 - <rustc_interface[dacacaf3651fe347]::interface::Compiler>::enter::<rustdoc[863d67c12390cb82]::main_options::{closure#0}::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
32: 0x55d2d92cb85a - rustc_span[ff646084812721ee]::with_source_map::<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustc_interface[dacacaf3651fe347]::interface::create_compiler_and_run<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustdoc[863d67c12390cb82]::main_options::{closure#0}>::{closure#1}>
33: 0x55d2d9475c44 - rustc_interface[dacacaf3651fe347]::interface::create_compiler_and_run::<core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>, rustdoc[863d67c12390cb82]::main_options::{closure#0}>
34: 0x55d2d92ce6d7 - <scoped_tls[d6203f3b3010b98e]::ScopedKey<rustc_span[ff646084812721ee]::SessionGlobals>>::set::<rustdoc[863d67c12390cb82]::main_args::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
35: 0x55d2d9478aff - std[fd2a1eaf3e081d4d]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[dacacaf3651fe347]::util::run_in_thread_pool_with_globals<rustdoc[863d67c12390cb82]::main_args::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>
36: 0x55d2d9521d89 - <<std[fd2a1eaf3e081d4d]::thread::Builder>::spawn_unchecked_<rustc_interface[dacacaf3651fe347]::util::run_in_thread_pool_with_globals<rustdoc[863d67c12390cb82]::main_args::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>::{closure#0}, core[864d7ae58f623181]::result::Result<(), rustc_errors[14f27e81a88a2c7]::ErrorGuaranteed>>::{closure#1} as core[864d7ae58f623181]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
37: 0x7f242c6aabf3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h211dae6d8dec3611
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/alloc/src/boxed.rs:1866:9
38: 0x7f242c6aabf3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb54334e8a7bb1f12
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/alloc/src/boxed.rs:1866:9
39: 0x7f242c6aabf3 - std::sys::unix::thread::Thread::new::thread_start::hf8b57655f2f2e68e
at /rustc/4ca19e09d302a4cbde14f9cb1bc109179dc824cd/library/std/src/sys/unix/thread.rs:108:17
40: 0x7f242c39b5c2 - start_thread
41: 0x7f242c420584 - __clone
42: 0x0 - <unknown>
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.62.0-nightly (4ca19e09d 2022-04-19) running on x86_64-unknown-linux-gnu
query stack during panic:
end of query stack
error: aborting due to previous error
Activity
kraktus commentedon Apr 27, 2022
matthiaskrgr commentedon Apr 27, 2022
hm, how are you running rustdoc in the playground?
kraktus commentedon Apr 27, 2022
sgued commentedon Sep 21, 2022
I think I have a smaller reproducer for the same bug, or at least one that leads to the same error. This one doesn't require any unstable feature and crashes both on 1.63 and on 1.66.0-nightly (432abd8 2022-09-20) running on x86_64-unknown-linux-gnu.
Note that my reproducer is not expected to compile, it shouldn't type-check. But it should cause a panic either.
Meta
Rollup merge of rust-lang#106366 - GuillaumeGomez:fix-rustdoc-ice-typ…