Skip to content

[Rustdoc] Thread 'rustc' panicked at 'Unable to fulfill trait DefId' #81786

Closed
@hestati63

Description

@hestati63

Code

#![feature(auto_traits, negative_impls)]

auto trait AutoTrait {}

pub struct Struct<K, V> {
    k: K,
    v: V
}

impl<T> !AutoTrait for *const T {}

impl<K, V> AutoTrait for Struct<K, V>
where
    K: AutoTrait,
    V: AutoTrait,
{
}

impl AutoTrait for Struct<usize, *const usize> {}

pub struct Wrap<'a> {
    inner: &'a Struct<usize, *const usize>,
}

Meta

rustc --version --verbose:

rustc 1.51.0-nightly (04caa632d 2021-01-30)
binary: rustc
commit-hash: 04caa632dd10c2bf64b69524c7f9c4c30a436877
commit-date: 2021-01-30
host: x86_64-unknown-linux-gnu
release: 1.51.0-nightly
LLVM version: 11.0.1

Error output

$  cargo doc
thread 'rustc' panicked at 'Unable to fulfill trait DefId(0:3 ~ testtest[8787]::AutoTrait) for 'Wrap<'a>': [FulfillmentError(Obligation(predicate=Binder(TraitPredicate(<Struct<usize, *const usize> as AutoTrait>)), depth=2),Ambiguity)]', /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/compiler/rustc_trait_selection/src/traits/auto_trait.rs:190:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

error: Unrecognized option: 'document-private-items'
Backtrace

thread 'rustc' panicked at 'Unable to fulfill trait DefId(0:3 ~ testtest[8787]::AutoTrait) for 'Wrap<'a>': [FulfillmentError(Obligation(predicate=Binder(TraitPredicate(<Struct<usize, *const usize> as AutoTrait>)), depth=2),Ambiguity)]', /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/compiler/rustc_trait_selection/src/traits/auto_trait.rs:190:17
stack backtrace:
   0: rust_begin_unwind
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/panicking.rs:493:5
   1: std::panicking::begin_panic_fmt
             at /rustc/04caa632dd10c2bf64b69524c7f9c4c30a436877/library/std/src/panicking.rs:435:5
   2: rustc_trait_selection::traits::auto_trait::AutoTraitFinder::find_auto_trait_generics::{{closure}}::{{closure}}
   3: rustc_infer::infer::InferCtxtBuilder::enter
   4: rustc_trait_selection::traits::auto_trait::AutoTraitFinder::find_auto_trait_generics
   5: <core::iter::adapters::cloned::Cloned<I> as core::iter::traits::iterator::Iterator>::try_fold
   6: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
   7: rustdoc::clean::utils::get_auto_trait_and_blanket_impls
   8: <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item
   9: alloc::vec::source_iter_marker::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
  10: rustdoc::fold::DocFolder::fold_inner_recur
  11: <rustdoc::passes::collect_trait_impls::SyntheticImplCollector as rustdoc::fold::DocFolder>::fold_item
  12: rustdoc::fold::DocFolder::fold_crate
  13: rustdoc::passes::collect_trait_impls::collect_trait_impls
  14: rustc_session::utils::<impl rustc_session::session::Session>::time
  15: rustc_interface::passes::QueryContext::enter
  16: rustc_interface::interface::create_compiler_and_run
  17: rustdoc::main_options
  18: scoped_tls::ScopedKey<T>::set

Metadata

Metadata

Assignees

Labels

A-trait-systemArea: Trait systemC-bugCategory: This is a bug.F-auto_traits`#![feature(auto_traits)]`F-negative_impls#![feature(negative_impls)]I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.glacierICE tracked in rust-lang/glacier.requires-nightlyThis issue requires a nightly compiler in some way.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions