Skip to content

[ICE]: rustdoc: mgca: Failed to normalize Alias  #158155

Description

@matthiaskrgr

Code

This compiles with rustc but ICEs rustdoc

#![feature(min_generic_const_args)]
trait Trait { type const ASSOC : usize; }
type Arr<T> = [();<T as Trait>::ASSOC];
fn main() {}

Meta

rustc --version --verbose:

rustdoc 1.98.0-nightly (bc2112ed5 2026-06-18)
binary: rustdoc
commit-hash: bc2112ed56c99fa649e09ab3ab286afab3d9059a
commit-date: 2026-06-18
host: x86_64-unknown-linux-gnu
release: 1.98.0-nightly
LLVM version: 22.1.7

Error output

<output>
Backtrace

warning: the feature `min_generic_const_args` is incomplete and may not be safe to use and/or cause compiler crashes
 --> code.rs:1:12
  |
1 | #![feature(min_generic_const_args)]
  |            ^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #132980 <https://github.com/rust-lang/rust/issues/132980> for more information
  = note: `#[warn(incomplete_features)]` on by default

error: internal compiler error: /rustc-dev/bc2112ed56c99fa649e09ab3ab286afab3d9059a/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:201:13: Failed to normalize Alias { kind: Projection { def_id: DefId(0:4 ~ code[435e]::Trait::ASSOC) }, args: [T/#0], .. } in typing_env=TypingEnv { typing_mode: TypingModeEqWrapper(Typeck { defining_opaque_types_and_generators: [] }), param_env: ParamEnv { caller_bounds: [Binder { value: TraitPredicate(<T as std::marker::Sized>, polarity:Positive), bound_vars: [] }] } }, maybe try to call `try_normalize_erasing_regions` instead


thread 'rustc' (1332935) panicked at /rustc-dev/bc2112ed56c99fa649e09ab3ab286afab3d9059a/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs:201:13:
Box<dyn Any>
stack backtrace:
   0:     0x7f2f6f1fd889 - <<std[9155b05baf46f0b5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[b26e7c5dab710dcd]::fmt::Display>::fmt
   1:     0x7f2f6f80ebde - core[b26e7c5dab710dcd]::fmt::write
   2:     0x7f2f6f213cb6 - <std[9155b05baf46f0b5]::sys::stdio::unix::Stderr as std[9155b05baf46f0b5]::io::Write>::write_fmt
   3:     0x7f2f6f1d2b7e - std[9155b05baf46f0b5]::panicking::default_hook::{closure#0}
   4:     0x7f2f6f1f0573 - std[9155b05baf46f0b5]::panicking::default_hook
   5:     0x7f2f6e249fc1 - std[9155b05baf46f0b5]::panicking::update_hook::<alloc[4a86d35f348a3b04]::boxed::Box<rustc_driver_impl[b791fc15675dcea2]::install_ice_hook::{closure#1}>>::{closure#0}
   6:     0x7f2f6f1f0852 - std[9155b05baf46f0b5]::panicking::panic_with_hook
   7:     0x7f2f6e277561 - std[9155b05baf46f0b5]::panicking::begin_panic::<rustc_errors[465f8a3c45b5df74]::ExplicitBug>::{closure#0}
   8:     0x7f2f6e270556 - std[9155b05baf46f0b5]::sys::backtrace::__rust_end_short_backtrace::<std[9155b05baf46f0b5]::panicking::begin_panic<rustc_errors[465f8a3c45b5df74]::ExplicitBug>::{closure#0}, !>
   9:     0x7f2f6e26e267 - std[9155b05baf46f0b5]::panicking::begin_panic::<rustc_errors[465f8a3c45b5df74]::ExplicitBug>
  10:     0x7f2f6e282681 - <rustc_errors[465f8a3c45b5df74]::diagnostic::BugAbort as rustc_errors[465f8a3c45b5df74]::diagnostic::EmissionGuarantee>::emit_producing_guarantee
  11:     0x7f2f6e7c5689 - rustc_middle[cb7c4bb37f51aac1]::util::bug::opt_span_bug_fmt::<rustc_span[4065efe3f3bc8177]::span_encoding::Span>::{closure#0}
  12:     0x7f2f6e7c57f2 - rustc_middle[cb7c4bb37f51aac1]::ty::context::tls::with_opt::<rustc_middle[cb7c4bb37f51aac1]::util::bug::opt_span_bug_fmt<rustc_span[4065efe3f3bc8177]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  13:     0x7f2f6e7b55eb - rustc_middle[cb7c4bb37f51aac1]::ty::context::tls::with_context_opt::<rustc_middle[cb7c4bb37f51aac1]::ty::context::tls::with_opt<rustc_middle[cb7c4bb37f51aac1]::util::bug::opt_span_bug_fmt<rustc_span[4065efe3f3bc8177]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  14:     0x7f2f6baf1ee4 - rustc_middle[cb7c4bb37f51aac1]::util::bug::bug_fmt
  15:     0x7f2f70045ce9 - <rustc_middle[cb7c4bb37f51aac1]::ty::normalize_erasing_regions::NormalizeAfterErasingRegionsFolder>::normalize_generic_arg_after_erasing_regions
  16:     0x7f2f700452ca - <rustc_middle[cb7c4bb37f51aac1]::ty::normalize_erasing_regions::NormalizeAfterErasingRegionsFolder as rustc_type_ir[b639ccf59fd3a529]::fold::TypeFolder<rustc_middle[cb7c4bb37f51aac1]::ty::context::TyCtxt>>::fold_const
  17:     0x559813400bb9 - rustdoc[9ff35d075a89cf9d]::clean::clean_middle_ty
  18:     0x559813342ae8 - rustdoc[9ff35d075a89cf9d]::clean::clean_maybe_renamed_item::{closure#0}
  19:     0x559813404950 - rustdoc[9ff35d075a89cf9d]::clean::clean_doc_module
  20:     0x5598133f5fe1 - rustdoc[9ff35d075a89cf9d]::core::run_global_ctxt
  21:     0x55981332f491 - rustdoc[9ff35d075a89cf9d]::main_args::{closure#2}::{closure#0}
  22:     0x559813326bfa - rustc_interface[84e7048b04034882]::interface::run_compiler::<(), rustdoc[9ff35d075a89cf9d]::main_args::{closure#2}>::{closure#1}
  23:     0x55981326fb66 - std[9155b05baf46f0b5]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[84e7048b04034882]::util::run_in_thread_with_globals<rustc_interface[84e7048b04034882]::util::run_in_thread_pool_with_globals<rustc_interface[84e7048b04034882]::interface::run_compiler<(), rustdoc[9ff35d075a89cf9d]::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  24:     0x559813364d3d - <std[9155b05baf46f0b5]::thread::lifecycle::spawn_unchecked<rustc_interface[84e7048b04034882]::util::run_in_thread_with_globals<rustc_interface[84e7048b04034882]::util::run_in_thread_pool_with_globals<rustc_interface[84e7048b04034882]::interface::run_compiler<(), rustdoc[9ff35d075a89cf9d]::main_args::{closure#2}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[b26e7c5dab710dcd]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  25:     0x7f2f709c5290 - <std[9155b05baf46f0b5]::sys::thread::unix::Thread>::new::thread_start
  26:     0x7f2f6a4981b9 - <unknown>
  27:     0x7f2f6a51d21c - <unknown>
  28:                0x0 - <unknown>

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-rustdoc&template=ice.md

note: please make sure that you have updated to the latest nightly

note: please attach the file at `/home/matthias/vcs/github/CRED/rustc-ice-2026-06-19T20_35_53-1332926.txt` to your bug report

note: rustc 1.98.0-nightly (bc2112ed5 2026-06-18) running on x86_64-unknown-linux-gnu

query stack during panic:
end of query stack

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.F-min_generic_const_args`#![feature(min_generic_const_args)]`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.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions