about summary refs log tree commit diff
path: root/tests/rustdoc/primitive-tuple-variadic.rs
diff options
context:
space:
mode:
authorTau Gärtli <git@tau.garden>2024-10-24 18:50:55 +0200
committerTau Gärtli <git@tau.garden>2024-10-24 18:50:55 +0200
commit4e487689085ba8b490fbf735163250cc4edb05ae (patch)
tree0e4954f8d2fd475ca25c156d17b25f021a5f6c25 /tests/rustdoc/primitive-tuple-variadic.rs
parent8aca4bab080b2c81065645fc070acca7a060f8a3 (diff)
downloadrust-4e487689085ba8b490fbf735163250cc4edb05ae.tar.gz
rust-4e487689085ba8b490fbf735163250cc4edb05ae.zip
rustdoc: Extend fake_variadic to "wrapped" tuples
This allows impls such as `impl QueryData for OneOf<(T,)>`
to be displayed as variadic: `impl QueryData for OneOf<(T₁, T₂, …, Tₙ)>`.

See question on zulip:
<https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/Make.20.60.23.5Bdoc.28fake_variadic.29.5D.60.20more.20useful>
Diffstat (limited to 'tests/rustdoc/primitive-tuple-variadic.rs')
-rw-r--r--tests/rustdoc/primitive-tuple-variadic.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/rustdoc/primitive-tuple-variadic.rs b/tests/rustdoc/primitive-tuple-variadic.rs
index b15e996f929..d142729d2a8 100644
--- a/tests/rustdoc/primitive-tuple-variadic.rs
+++ b/tests/rustdoc/primitive-tuple-variadic.rs
@@ -33,3 +33,22 @@ impl<T> Baz<[T; 1]> for (T,) {}
 //@ has - '//section[@id="impl-Baz%3CT%3E-for-(T,)"]/h3' 'impl<T> Baz<T> for (T₁, T₂, …, Tₙ)'
 #[doc(fake_variadic)]
 impl<T> Baz<T> for (T,) {}
+
+pub trait Qux {}
+
+pub struct NewType<T>(T);
+
+//@ has foo/trait.Qux.html
+//@ has - '//section[@id="impl-Qux-for-NewType%3C(T,)%3E"]/h3' 'impl<T> Qux for NewType<(T₁, T₂, …, Tₙ)>'
+#[doc(fake_variadic)]
+impl<T> Qux for NewType<(T,)> {}
+
+//@ has foo/trait.Qux.html
+//@ has - '//section[@id="impl-Qux-for-NewType%3CNewType%3C(T,)%3E%3E"]/h3' 'impl<T> Qux for NewType<NewType<(T₁, T₂, …, Tₙ)>>'
+#[doc(fake_variadic)]
+impl<T> Qux for NewType<NewType<(T,)>> {}
+
+//@ has foo/trait.Qux.html
+//@ has - '//section[@id="impl-Qux-for-NewType%3Cfn(T)+-%3E+Out%3E"]/h3' 'impl<T, Out> Qux for NewType<fn(T₁, T₂, …, Tₙ) -> Out>'
+#[doc(fake_variadic)]
+impl<T, Out> Qux for NewType<fn(T) -> Out> {}