diff options
Diffstat (limited to 'tests/ui/where-clauses')
-rw-r--r-- | tests/ui/where-clauses/issue-50825-1.rs | 22 | ||||
-rw-r--r-- | tests/ui/where-clauses/issue-50825.rs | 15 |
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/ui/where-clauses/issue-50825-1.rs b/tests/ui/where-clauses/issue-50825-1.rs new file mode 100644 index 000000000..ee4316029 --- /dev/null +++ b/tests/ui/where-clauses/issue-50825-1.rs @@ -0,0 +1,22 @@ +// run-pass +// regression test for issue #50825 +// Make sure that the `impl` bound (): X<T = ()> is preferred over +// the (): X bound in the where clause. + +trait X { + type T; +} + +trait Y<U>: X { + fn foo(x: &Self::T); +} + +impl X for () { + type T = (); +} + +impl<T> Y<Vec<T>> for () where (): Y<T> { + fn foo(_x: &()) {} +} + +fn main () {} diff --git a/tests/ui/where-clauses/issue-50825.rs b/tests/ui/where-clauses/issue-50825.rs new file mode 100644 index 000000000..1ece2e9fc --- /dev/null +++ b/tests/ui/where-clauses/issue-50825.rs @@ -0,0 +1,15 @@ +// run-pass +// regression test for issue #50825 +// Make sure that the built-in bound {integer}: Sized is preferred over +// the u64: Sized bound in the where clause. + +fn foo(y: &[()]) +where + u64: Sized, +{ + y[0] +} + +fn main () { + foo(&[()]); +} |