From c58e52ebebcbe73090da13f5d1e1fe8e32ae0c57 Mon Sep 17 00:00:00 2001 From: Asuka Minato Date: Wed, 26 Nov 2025 07:21:57 +0900 Subject: [PATCH 1/2] fix --- src/librustdoc/clean/mod.rs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 38b12405ea821..020829df7b6a0 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -561,12 +561,7 @@ fn clean_generic_param_def( def.name, GenericParamDefKind::Const { ty: Box::new(clean_middle_ty( - ty::Binder::dummy( - cx.tcx - .type_of(def.def_id) - .no_bound_vars() - .expect("const parameter types cannot be generic"), - ), + ty::Binder::dummy(cx.tcx.type_of(def.def_id).instantiate_identity()), cx, Some(def.def_id), None, From 171c77e3870984d0290d41c3e39f5582067d1e3a Mon Sep 17 00:00:00 2001 From: Asuka Minato Date: Wed, 26 Nov 2025 16:33:13 +0900 Subject: [PATCH 2/2] add test --- .../const-param-type-references-generics.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/rustdoc/const-generics/const-param-type-references-generics.rs diff --git a/tests/rustdoc/const-generics/const-param-type-references-generics.rs b/tests/rustdoc/const-generics/const-param-type-references-generics.rs new file mode 100644 index 0000000000000..47bf3e253e69d --- /dev/null +++ b/tests/rustdoc/const-generics/const-param-type-references-generics.rs @@ -0,0 +1,16 @@ +//! rustdoc regression test for #149288: const generic parameter types may depend on +//! other generics when `generic_const_parameter_types` is enabled. +#![allow(incomplete_features)] +#![feature(adt_const_params, generic_const_parameter_types)] +#![crate_name = "foo"] + +pub struct Bar; + +pub fn takes(_: Bar) {} + +pub fn instantiate() { + takes(Bar::<2, { [1; 2] }>); +} + +//@ has foo/struct.Bar.html '//pre[@class="rust item-decl"]' 'pub struct Bar' +//@ has foo/fn.takes.html '//pre[@class="rust item-decl"]' 'pub fn takes(_: Bar)'