summaryrefslogtreecommitdiffstats
path: root/src/test/ui/traits/bound/impl-comparison-duplicates.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/traits/bound/impl-comparison-duplicates.rs')
-rw-r--r--src/test/ui/traits/bound/impl-comparison-duplicates.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/ui/traits/bound/impl-comparison-duplicates.rs b/src/test/ui/traits/bound/impl-comparison-duplicates.rs
new file mode 100644
index 000000000..de6c2afa2
--- /dev/null
+++ b/src/test/ui/traits/bound/impl-comparison-duplicates.rs
@@ -0,0 +1,16 @@
+// run-pass
+// Tests that type parameter bounds on an implementation need not match the
+// trait exactly, as long as the implementation doesn't demand *more* bounds
+// than the trait.
+
+// pretty-expanded FIXME #23616
+
+trait A {
+ fn foo<T: Eq + Ord>(&self);
+}
+
+impl A for isize {
+ fn foo<T: Ord>(&self) {} // Ord implies Eq, so this is ok.
+}
+
+fn main() {}