about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/rustdoc/synthetic_auto/supertrait-bounds.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/rustdoc/synthetic_auto/supertrait-bounds.rs b/tests/rustdoc/synthetic_auto/supertrait-bounds.rs
new file mode 100644
index 00000000000..503e65d0f4f
--- /dev/null
+++ b/tests/rustdoc/synthetic_auto/supertrait-bounds.rs
@@ -0,0 +1,14 @@
+// Check that we don't add bounds to synthetic auto trait impls that are
+// already implied by the item (like supertrait bounds).
+
+// In this case we don't want to add the bounds `T: Copy` and `T: 'static`
+// to the auto trait impl because they're implied by the bound `T: Bound`
+// on the implementor `Type`.
+
+pub struct Type<T: Bound>(T);
+
+// @has supertrait_bounds/struct.Type.html
+// @has - '//*[@id="synthetic-implementations-list"]//*[@class="impl"]//h3[@class="code-header"]' \
+// "impl<T> Send for Type<T>where T: Send,"
+
+pub trait Bound: Copy + 'static {}