Skip to content
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

ICE: compiler/rustc_privacy/src/lib.rs:282:17: unexpected type: FreshTy(0) #100485

Closed
matthiaskrgr opened this issue Aug 13, 2022 · 0 comments · Fixed by #100500
Closed

ICE: compiler/rustc_privacy/src/lib.rs:282:17: unexpected type: FreshTy(0) #100485

matthiaskrgr opened this issue Aug 13, 2022 · 0 comments · Fixed by #100500
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

./src/test/ui/traits/alias/self-in-generics.rs

Code

#![feature(trait_alias)]

pub trait SelfInput = Fn(&mut Self);

pub fn f(_f: &dyn SelfInput) {}
//~^ ERROR the trait alias `SelfInput` cannot be made into an object [E0038]

fn main() {}

Meta

rustc --version --verbose:

rustdoc 1.65.0-nightly (e8dc8bca2 2022-08-13)
binary: rustdoc
commit-hash: e8dc8bca2118ec1ed5970790614f0b81e9167f10
commit-date: 2022-08-13
host: x86_64-unknown-linux-gnu
release: 1.65.0-nightly
LLVM version: 15.0.0

Error output

<output>
Backtrace

error[E0038]: the trait alias `SelfInput` cannot be made into an object
 --> self-in-generics.rs:5:19
  |
5 | pub fn f(_f: &dyn SelfInput) {}
  |                   ^^^^^^^^^
  |
  = note: it cannot use `Self` as a type parameter in a supertrait or `where`-clause

error: internal compiler error: compiler/rustc_privacy/src/lib.rs:282:17: unexpected type: FreshTy(0)

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/compiler/rustc_errors/src/lib.rs:1391:9
stack backtrace:
   0:     0x7fb08c6fd220 - std::backtrace_rs::backtrace::libunwind::trace::hdfd7439c4ac437b8
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   1:     0x7fb08c6fd220 - std::backtrace_rs::backtrace::trace_unsynchronized::h6c473f268a0da94d
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb08c6fd220 - std::sys_common::backtrace::_print_fmt::h6b48bf233902d36b
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7fb08c6fd220 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h9b66d5b5ab6d8b74
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7fb08c7582ee - core::fmt::write::h8d6bde4a67b5a644
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/core/src/fmt/mod.rs:1202:17
   5:     0x7fb08c6edf35 - std::io::Write::write_fmt::ha5ed2fe9bc688052
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/io/mod.rs:1672:15
   6:     0x7fb08c6ffee3 - std::sys_common::backtrace::_print::hcc6babf718d978b5
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7fb08c6ffee3 - std::sys_common::backtrace::print::h66a498b3cfc1608c
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7fb08c6ffee3 - std::panicking::default_hook::{{closure}}::h78975c9fdf2e25ac
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/panicking.rs:295:22
   9:     0x7fb08c6ffbcf - std::panicking::default_hook::h3938825ac353f447
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/panicking.rs:314:9
  10:     0x7fb08ef3c424 - <rustc_driver[a5410d64bf022668]::DEFAULT_HOOK::{closure#0}::{closure#0} as core[9ef3251603221d4a]::ops::function::FnOnce<(&core[9ef3251603221d4a]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
  11:     0x7fb08c70071d - std::panicking::rust_panic_with_hook::h47eb8ecd1bd91d17
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/panicking.rs:702:17
  12:     0x7fb08fee0151 - std[2e6ea336b53db173]::panicking::begin_panic::<rustc_errors[f4cb041045aad9b5]::ExplicitBug>::{closure#0}
  13:     0x7fb08fedf956 - std[2e6ea336b53db173]::sys_common::backtrace::__rust_end_short_backtrace::<std[2e6ea336b53db173]::panicking::begin_panic<rustc_errors[f4cb041045aad9b5]::ExplicitBug>::{closure#0}, !>
  14:     0x7fb08fec0616 - std[2e6ea336b53db173]::panicking::begin_panic::<rustc_errors[f4cb041045aad9b5]::ExplicitBug>
  15:     0x7fb08ff04f36 - std[2e6ea336b53db173]::panic::panic_any::<rustc_errors[f4cb041045aad9b5]::ExplicitBug>
  16:     0x7fb08ff04d8d - <rustc_errors[f4cb041045aad9b5]::HandlerInner>::bug::<&alloc[a4b47a688312783c]::string::String>
  17:     0x7fb08ff04ae0 - <rustc_errors[f4cb041045aad9b5]::Handler>::bug::<&alloc[a4b47a688312783c]::string::String>
  18:     0x7fb08ff2d1ad - rustc_middle[9190505212f11309]::ty::context::tls::with_context_opt::<rustc_middle[9190505212f11309]::ty::context::tls::with_opt<rustc_middle[9190505212f11309]::util::bug::opt_span_bug_fmt<rustc_span[812c5506f6a7d0a0]::span_encoding::Span>::{closure#0}, ()>::{closure#0}, ()>
  19:     0x7fb08ff2f016 - rustc_middle[9190505212f11309]::util::bug::opt_span_bug_fmt::<rustc_span[812c5506f6a7d0a0]::span_encoding::Span>
  20:     0x7fb08d8dbe03 - rustc_middle[9190505212f11309]::util::bug::bug_fmt
  21:     0x7fb08d9524fc - <rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitor>::visit_ty
  22:     0x7fb08d951608 - <rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitor>::visit_ty
  23:     0x7fb08d952c35 - <rustc_middle[9190505212f11309]::ty::sty::Binder<rustc_middle[9190505212f11309]::ty::sty::FnSig> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitable>::visit_with::<rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor>>
  24:     0x7fb08d951795 - <rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitor>::visit_ty
  25:     0x7fb08e2d1c03 - <rustc_middle[9190505212f11309]::ty::sty::Binder<rustc_middle[9190505212f11309]::ty::sty::ExistentialPredicate> as rustc_middle[9190505212f11309]::ty::visit::TypeSuperVisitable>::super_visit_with::<rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor>>
  26:     0x7fb08d954647 - <&rustc_middle[9190505212f11309]::ty::list::List<rustc_middle[9190505212f11309]::ty::sty::Binder<rustc_middle[9190505212f11309]::ty::sty::ExistentialPredicate>> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitable>::visit_with::<rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor>>
  27:     0x7fb08d951c6f - <rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitor>::visit_ty
  28:     0x7fb08d951608 - <rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitor>::visit_ty
  29:     0x7fb08d952c35 - <rustc_middle[9190505212f11309]::ty::sty::Binder<rustc_middle[9190505212f11309]::ty::sty::FnSig> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitable>::visit_with::<rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor>>
  30:     0x7fb08d951759 - <rustc_privacy[1d0d09284a100788]::DefIdVisitorSkeleton<rustc_privacy[1d0d09284a100788]::ReachEverythingInTheInterfaceVisitor> as rustc_middle[9190505212f11309]::ty::visit::TypeVisitor>::visit_ty
  31:     0x7fb08dc6c423 - <rustc_privacy[1d0d09284a100788]::EmbargoVisitor as rustc_hir[9122b05cfb5f69c7]::intravisit::Visitor>::visit_item
  32:     0x7fb08ec096d9 - rustc_privacy[1d0d09284a100788]::privacy_access_levels
  33:     0x7fb08ecd4ab3 - rustc_query_system[88e27f7cc16d83bb]::query::plumbing::try_execute_query::<rustc_query_impl[b52b8bfa962b42d5]::plumbing::QueryCtxt, rustc_query_system[88e27f7cc16d83bb]::query::caches::DefaultCache<(), &rustc_middle[9190505212f11309]::middle::privacy::AccessLevels>>
  34:     0x7fb08ecd482f - rustc_query_system[88e27f7cc16d83bb]::query::plumbing::get_query::<rustc_query_impl[b52b8bfa962b42d5]::queries::privacy_access_levels, rustc_query_impl[b52b8bfa962b42d5]::plumbing::QueryCtxt>
  35:     0x55d3fcfef119 - rustc_lint[f2fb10bf9f2518ad]::late::late_lint_crate::<rustc_lint[f2fb10bf9f2518ad]::builtin::MissingDoc>
  36:     0x55d3fd0737c8 - <rustc_session[79e06e95d9fac684]::session::Session>::time::<(), rustc_lint[f2fb10bf9f2518ad]::late::check_crate<rustc_lint[f2fb10bf9f2518ad]::builtin::MissingDoc, <rustc_lint[f2fb10bf9f2518ad]::builtin::MissingDoc>::new>::{closure#0}::{closure#0}>
  37:     0x55d3fd073e70 - <rustc_session[79e06e95d9fac684]::session::Session>::time::<(), rustdoc[5111a8b3ee4cfbad]::core::run_global_ctxt::{closure#1}>
  38:     0x55d3fcd9f38b - rustdoc[5111a8b3ee4cfbad]::core::run_global_ctxt
  39:     0x55d3fd07354f - <rustc_session[79e06e95d9fac684]::session::Session>::time::<(rustdoc[5111a8b3ee4cfbad]::clean::types::Crate, rustdoc[5111a8b3ee4cfbad]::config::RenderOptions, rustdoc[5111a8b3ee4cfbad]::formats::cache::Cache), rustdoc[5111a8b3ee4cfbad]::main_options::{closure#0}::{closure#0}::{closure#1}::{closure#0}>
  40:     0x55d3fcfa2a84 - <rustc_interface[6f1edf494a475c31]::passes::QueryContext>::enter::<rustdoc[5111a8b3ee4cfbad]::main_options::{closure#0}::{closure#0}::{closure#1}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>
  41:     0x55d3fce8f959 - <rustc_interface[6f1edf494a475c31]::interface::Compiler>::enter::<rustdoc[5111a8b3ee4cfbad]::main_options::{closure#0}::{closure#0}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>
  42:     0x55d3fd0cddc1 - rustc_span[812c5506f6a7d0a0]::with_source_map::<core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>, rustc_interface[6f1edf494a475c31]::interface::create_compiler_and_run<core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>, rustdoc[5111a8b3ee4cfbad]::main_options::{closure#0}>::{closure#1}>
  43:     0x55d3fce9183c - rustc_interface[6f1edf494a475c31]::interface::create_compiler_and_run::<core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>, rustdoc[5111a8b3ee4cfbad]::main_options::{closure#0}>
  44:     0x55d3fcdb0a30 - rustdoc[5111a8b3ee4cfbad]::main_options
  45:     0x55d3fcfa089c - <scoped_tls[beaf390a5842bbf2]::ScopedKey<rustc_span[812c5506f6a7d0a0]::SessionGlobals>>::set::<rustdoc[5111a8b3ee4cfbad]::main_args::{closure#0}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>
  46:     0x55d3fd037610 - std[2e6ea336b53db173]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[6f1edf494a475c31]::util::run_in_thread_pool_with_globals<rustdoc[5111a8b3ee4cfbad]::main_args::{closure#0}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>::{closure#0}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>
  47:     0x55d3fcec7998 - <<std[2e6ea336b53db173]::thread::Builder>::spawn_unchecked_<rustc_interface[6f1edf494a475c31]::util::run_in_thread_pool_with_globals<rustdoc[5111a8b3ee4cfbad]::main_args::{closure#0}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>::{closure#0}, core[9ef3251603221d4a]::result::Result<(), rustc_errors[f4cb041045aad9b5]::ErrorGuaranteed>>::{closure#1} as core[9ef3251603221d4a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  48:     0x7fb08c70a513 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha625c10cb002aafd
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/alloc/src/boxed.rs:1935:9
  49:     0x7fb08c70a513 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he99a54320e05f7cf
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/alloc/src/boxed.rs:1935:9
  50:     0x7fb08c70a513 - std::sys::unix::thread::Thread::new::thread_start::he2b2cf9ce0aef6b5
                               at /rustc/e8dc8bca2118ec1ed5970790614f0b81e9167f10/library/std/src/sys/unix/thread.rs:108:17
  51:     0x7fb08c44a78d - <unknown>
  52:     0x7fb08c4cb8e4 - clone
  53:                0x0 - <unknown>

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.65.0-nightly (e8dc8bca2 2022-08-13) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [privacy_access_levels] privacy access levels
end of query stack
error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0038`.

See also #100484

@matthiaskrgr matthiaskrgr added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ C-bug Category: This is a bug. labels Aug 13, 2022
@matthiaskrgr matthiaskrgr changed the title ICE: compiler/rustc_privacy/src/lib.rs:282:17: unexpected type: FreshTy(0 ICE: compiler/rustc_privacy/src/lib.rs:282:17: unexpected type: FreshTy(0) Aug 13, 2022
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Aug 20, 2022
…lcnr

Ban references to `Self` in trait object substs for projection predicates too.

Fixes rust-lang#100484
Fixes rust-lang#100485

r? `@lcnr`
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Aug 20, 2022
…lcnr

Ban references to `Self` in trait object substs for projection predicates too.

Fixes rust-lang#100484
Fixes rust-lang#100485

r? ``@lcnr``
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Aug 20, 2022
…lcnr

Ban references to `Self` in trait object substs for projection predicates too.

Fixes rust-lang#100484
Fixes rust-lang#100485

r? ```@lcnr```
@bors bors closed this as completed in 33a4029 Aug 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant