about summary refs log tree commit diff
path: root/tests/rustdoc/impl/blanket-impl-78673.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc/impl/blanket-impl-78673.rs')
-rw-r--r--tests/rustdoc/impl/blanket-impl-78673.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/rustdoc/impl/blanket-impl-78673.rs b/tests/rustdoc/impl/blanket-impl-78673.rs
new file mode 100644
index 00000000000..412d4057406
--- /dev/null
+++ b/tests/rustdoc/impl/blanket-impl-78673.rs
@@ -0,0 +1,25 @@
+// https://github.com/rust-lang/rust/issues/78673
+#![crate_name = "issue_78673"]
+
+pub trait Something {}
+
+pub trait AnAmazingTrait {}
+
+impl<T: Something> AnAmazingTrait for T {}
+
+//@ has 'issue_78673/struct.MyStruct.html'
+//@ has  - '//*[@class="impl"]' 'AnAmazingTrait for MyStruct'
+//@ !has - '//*[@class="impl"]' 'AnAmazingTrait for T'
+pub struct MyStruct;
+
+impl AnAmazingTrait for MyStruct {}
+
+// generic structs may have _both_ specific and blanket impls that apply
+
+//@ has 'issue_78673/struct.AnotherStruct.html'
+//@ has - '//*[@class="impl"]' 'AnAmazingTrait for AnotherStruct<()>'
+//@ has - '//*[@class="impl"]' 'AnAmazingTrait for T'
+pub struct AnotherStruct<T>(T);
+
+impl<T: Something> Something for AnotherStruct<T> {}
+impl AnAmazingTrait for AnotherStruct<()> {}