Skip to content

cargo doc panics with an "Unexpected predicate" message and doesn't generate documentation #92073

Closed
@AlexTMjugador

Description

@AlexTMjugador

Problem

When trying to document my Rust project by running cargo doc, the command crashes and no documentation is generated. Other than that, the code builds and runs okay.

Error message

thread 'rustc' panicked at 'Unexpected predicate pack_file::audio_file::AudioDataStream<T> Binder(ClosureKind(DefId(0:632 ~ packsquash[46bd]::pack_file::audio_file::new_processed_audio_data_stream::{closure#0}), [T, i16, extern "rust-call" fn((std::result::Result<bytes::Bytes, std::io::Error>,)) -> std::result::Result<gstreamer::Sample, pack_file::audio_file::OptimizationError>, ()], FnOnce), [])', compiler/rustc_trait_selection/src/traits/auto_trait.rs:842:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

error: Unrecognized option: 'crate-version'

error: could not document `packsquash`

Verbose backtrace

Show
   0:     0x7f42efea62cc - std::backtrace_rs::backtrace::libunwind::trace::he79a6b2087577c89
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f42efea62cc - std::backtrace_rs::backtrace::trace_unsynchronized::h9277c4233029dddb
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f42efea62cc - std::sys_common::backtrace::_print_fmt::hbb2b612ef9b02ca8
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7f42efea62cc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hc8c6e5fc9f07659b
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x7f42eff032ec - core::fmt::write::h72801a82c94e6ff1
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/core/src/fmt/mod.rs:1149:17
   5:     0x7f42efe969d5 - std::io::Write::write_fmt::h49956859070326a8
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/io/mod.rs:1660:15
   6:     0x7f42efea9490 - std::sys_common::backtrace::_print::h7c949d00e447ca1b
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x7f42efea9490 - std::sys_common::backtrace::print::hac5d7b208ff86b2e
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x7f42efea9490 - std::panicking::default_hook::{{closure}}::h2d5b8c951b73433e
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:211:50
   9:     0x7f42efea903b - std::panicking::default_hook::hc1d5a882e94ba293
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:228:9
  10:     0x7f42f09c2921 - rustc_driver[8da5ce1fe2d1a97a]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f42e0019323 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h70164cf8ef58bbcb
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/alloc/src/boxed.rs:1825:9
  12:     0x7f42e0096e3d - proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}::h449afb74008a6ac3
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/proc_macro/src/bridge/client.rs:320:21
  13:     0x7f42efea9ca9 - std::panicking::rust_panic_with_hook::hc9dd570d8cf7aba9
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:610:17
  14:     0x7f42efea9760 - std::panicking::begin_panic_handler::{{closure}}::hf5dee398c82a5cad
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:502:13
  15:     0x7f42efea6774 - std::sys_common::backtrace::__rust_end_short_backtrace::hc6e01318a754dc4c
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys_common/backtrace.rs:139:18
  16:     0x7f42efea96c9 - rust_begin_unwind
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/panicking.rs:498:5
  17:     0x7f42efe6db91 - core::panicking::panic_fmt::h7b8580d81fcbbacd
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/core/src/panicking.rs:107:14
  18:     0x7f42f188df95 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_nested_obligations::<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_infer[7479c472c492593c]::traits::Obligation<rustc_middle[f720485c3bb04922]::ty::Predicate>>>
  19:     0x7f42f188de86 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_nested_obligations::<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_infer[7479c472c492593c]::traits::Obligation<rustc_middle[f720485c3bb04922]::ty::Predicate>>>
  20:     0x7f42f188de86 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_nested_obligations::<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_infer[7479c472c492593c]::traits::Obligation<rustc_middle[f720485c3bb04922]::ty::Predicate>>>
  21:     0x7f42f188c8d4 - <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::evaluate_predicates
  22:     0x5624627ccd80 - <rustc_infer[7479c472c492593c]::infer::InferCtxtBuilder>::enter::<rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitResult<rustdoc[36929c7f4bae1c8e]::clean::types::Generics>, <rustc_trait_selection[bcf1ab49daa61e]::traits::auto_trait::AutoTraitFinder>::find_auto_trait_generics<rustdoc[36929c7f4bae1c8e]::clean::types::Generics, <rustdoc[36929c7f4bae1c8e]::clean::auto_trait::AutoTraitFinder>::generate_for_trait::{closure#0}>::{closure#1}>
  23:     0x562462738e31 - <rustdoc[36929c7f4bae1c8e]::clean::auto_trait::AutoTraitFinder>::generate_for_trait
  24:     0x562462711bd1 - <alloc[a8f979d015016212]::vec::Vec<rustdoc[36929c7f4bae1c8e]::clean::types::Item> as alloc[a8f979d015016212]::vec::spec_from_iter::SpecFromIter<rustdoc[36929c7f4bae1c8e]::clean::types::Item, core[cc79c391059f8e46]::iter::adapters::filter_map::FilterMap<alloc[a8f979d015016212]::vec::into_iter::IntoIter<rustc_span[dda57b1885b40b9a]::def_id::DefId>, <rustdoc[36929c7f4bae1c8e]::clean::auto_trait::AutoTraitFinder>::get_auto_trait_impls::{closure#0}>>>::from_iter
  25:     0x562462746543 - rustdoc[36929c7f4bae1c8e]::clean::utils::get_auto_trait_and_blanket_impls
  26:     0x56246276b0b5 - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  27:     0x56246276b1fa - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  28:     0x56246276b1fa - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  29:     0x56246276b1fa - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_item
  30:     0x562462770cd2 - <rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::SyntheticImplCollector as rustdoc[36929c7f4bae1c8e]::visit::DocVisitor>::visit_crate
  31:     0x5624627c9c70 - <rustc_session[2680299e10ec9d86]::session::Session>::time::<alloc[a8f979d015016212]::vec::Vec<rustdoc[36929c7f4bae1c8e]::clean::types::Item>, rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::collect_trait_impls::{closure#0}>
  32:     0x562462768acd - rustdoc[36929c7f4bae1c8e]::passes::collect_trait_impls::collect_trait_impls
  33:     0x5624627ca523 - <rustc_session[2680299e10ec9d86]::session::Session>::time::<rustdoc[36929c7f4bae1c8e]::clean::types::Crate, rustdoc[36929c7f4bae1c8e]::core::run_global_ctxt::{closure#11}>
  34:     0x5624626c3bd6 - rustdoc[36929c7f4bae1c8e]::core::run_global_ctxt
  35:     0x5624627ca941 - <rustc_session[2680299e10ec9d86]::session::Session>::time::<(rustdoc[36929c7f4bae1c8e]::clean::types::Crate, rustdoc[36929c7f4bae1c8e]::config::RenderOptions, rustdoc[36929c7f4bae1c8e]::formats::cache::Cache), rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}::{closure#0}::{closure#0}::{closure#0}>
  36:     0x562462687956 - <rustc_interface[62760188b3c734a0]::passes::QueryContext>::enter::<rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  37:     0x56246263bbd1 - <rustc_interface[62760188b3c734a0]::interface::Compiler>::enter::<rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  38:     0x56246271f823 - rustc_span[dda57b1885b40b9a]::with_source_map::<core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>, rustc_interface[62760188b3c734a0]::interface::create_compiler_and_run<core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>, rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}>::{closure#1}>
  39:     0x56246263e07e - rustc_interface[62760188b3c734a0]::interface::create_compiler_and_run::<core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>, rustdoc[36929c7f4bae1c8e]::main_options::{closure#0}>
  40:     0x562462503929 - rustdoc[36929c7f4bae1c8e]::main_options
  41:     0x562462585f3d - <scoped_tls[3fea4c3dcac147b1]::ScopedKey<rustc_span[dda57b1885b40b9a]::SessionGlobals>>::set::<rustc_interface[62760188b3c734a0]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustdoc[36929c7f4bae1c8e]::main_args::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#0}::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  42:     0x562462605419 - std[21670a705af8c7c3]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[62760188b3c734a0]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustdoc[36929c7f4bae1c8e]::main_args::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>
  43:     0x56246278b4f0 - <<std[21670a705af8c7c3]::thread::Builder>::spawn_unchecked<rustc_interface[62760188b3c734a0]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustdoc[36929c7f4bae1c8e]::main_args::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#0}, core[cc79c391059f8e46]::result::Result<(), rustc_errors[248f3f311c690252]::ErrorReported>>::{closure#1} as core[cc79c391059f8e46]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  44:     0x7f42efeb4d93 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h13c9b82af0da6f4d
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/alloc/src/boxed.rs:1811:9
  45:     0x7f42efeb4d93 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf3c1d65ddfa15a01
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/alloc/src/boxed.rs:1811:9
  46:     0x7f42efeb4d93 - std::sys::unix::thread::Thread::new::thread_start::h81bd34a89ebf1bad
                               at /rustc/c5ecc157043ba413568b09292001a4a74b541a4e/library/std/src/sys/unix/thread.rs:108:17
  47:     0x7f42efdd8d80 - start_thread
                               at ./nptl/./nptl/pthread_create.c:481:8
  48:     0x7f42efb92b6f - __clone
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
  49:                0x0 - <unknown>

Steps

  1. Download or clone my project, commit cb8017a947: https://github.com/ComunidadAylas/PackSquash/archive/cb8017a947b1825f23a992d6eb2f28b503270e2f.zip
  2. Run cargo doc on it
  3. Watch the panic happen

Possible Solution(s)

No response

Notes

This panic has been happening to me for months now, and I couldn't find any issue, PR or commit that referenced a similar issue. So I guess it's pretty safe to assume that it hasn't been reported before and that I'm probably the only person on Earth with this problem.

Version

cargo 1.59.0-nightly (a359ce160 2021-12-14)
release: 1.59.0-nightly
commit-hash: a359ce16073401f28b84840da85b268aa3d37c88
commit-date: 2021-12-14
host: x86_64-unknown-linux-gnu
libgit2: 1.3.0 (sys:0.13.23 vendored)
libcurl: 7.80.0-DEV (sys:0.4.51+curl-7.80.0 vendored ssl:OpenSSL/1.1.1l)
os: Debian unstable (sid) [64-bit]

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions