diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 4ee63a4c9703b..e68ad6a7c3b4b 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -3145,10 +3145,7 @@ impl<'tcx> Clean for ty::Const<'tcx> { fn clean(&self, cx: &DocContext<'_>) -> Constant { Constant { type_: self.ty.clean(cx), - expr: match self.val { - ConstValue::Param(ty::ParamConst { name, .. }) => format!("{}", name), - e => format!("{:?}", e), // FIXME generic consts with expressions - }, + expr: format!("{}", self), } } } diff --git a/src/test/rustdoc/const-generics/add-impl.rs b/src/test/rustdoc/const-generics/add-impl.rs new file mode 100644 index 0000000000000..ed45d339728bc --- /dev/null +++ b/src/test/rustdoc/const-generics/add-impl.rs @@ -0,0 +1,21 @@ +// ignore-tidy-linelength + +#![feature(const_generics)] + +#![crate_name = "foo"] + +use std::ops::Add; + +// @has foo/struct.Simd.html '//pre[@class="rust struct"]' 'pub struct Simd' +pub struct Simd { + inner: T, +} + +// @has foo/struct.Simd.html '//div[@id="implementations-list"]/h3/code' 'impl Add> for Simd' +impl Add for Simd { + type Output = Self; + + fn add(self, rhs: Self) -> Self::Output { + Self { inner: 0 } + } +} diff --git a/src/test/rustdoc/generic-const.rs b/src/test/rustdoc/const-generics/const-impl.rs similarity index 99% rename from src/test/rustdoc/generic-const.rs rename to src/test/rustdoc/const-generics/const-impl.rs index d6794ac8f1d94..85ee6d3376b27 100644 --- a/src/test/rustdoc/generic-const.rs +++ b/src/test/rustdoc/const-generics/const-impl.rs @@ -1,7 +1,8 @@ +// ignore-tidy-linelength + #![feature(const_generics)] -#![crate_name = "foo"] -// ignore-tidy-linelength +#![crate_name = "foo"] pub enum Order { Sorted,