about summary refs log tree commit diff
path: root/src/test/rustdoc
diff options
context:
space:
mode:
authorWim Looman <git@nemo157.com>2020-11-02 22:19:36 +0100
committerWim Looman <git@nemo157.com>2020-11-02 22:25:01 +0100
commit0e2af5cc63065db84ffee23532ec572e644e4cf4 (patch)
treeff471fa53a22c5c8fc165e68718869d3de8ed3ed /src/test/rustdoc
parent4051473c8b5158984a5253d1b5faad6a94de7682 (diff)
downloadrust-0e2af5cc63065db84ffee23532ec572e644e4cf4.tar.gz
rust-0e2af5cc63065db84ffee23532ec572e644e4cf4.zip
Check predicates from blanket trait impls while testing if they apply
Diffstat (limited to 'src/test/rustdoc')
-rw-r--r--src/test/rustdoc/issue-78673.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/rustdoc/issue-78673.rs b/src/test/rustdoc/issue-78673.rs
new file mode 100644
index 00000000000..d09141c3204
--- /dev/null
+++ b/src/test/rustdoc/issue-78673.rs
@@ -0,0 +1,24 @@
+#![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<()> {}