diff options
Diffstat (limited to 'src/test/ui/associated-types/hr-associated-type-bound-param-3.rs')
-rw-r--r-- | src/test/ui/associated-types/hr-associated-type-bound-param-3.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/hr-associated-type-bound-param-3.rs b/src/test/ui/associated-types/hr-associated-type-bound-param-3.rs new file mode 100644 index 000000000..fda7d8111 --- /dev/null +++ b/src/test/ui/associated-types/hr-associated-type-bound-param-3.rs @@ -0,0 +1,19 @@ +trait X<'a, T> +where + for<'b> T: X<'b, T>, + for<'b> <T as X<'b, T>>::U: Clone, +{ + type U: ?Sized; + fn f(x: &<T as X<'_, T>>::U) { + <<T as X<'_, T>>::U>::clone(x); + } +} + +impl<S, T> X<'_, (T,)> for (S,) { + type U = str; + //~^ ERROR the trait bound `str: Clone` is not satisfied +} + +pub fn main() { + <(i32,) as X<(i32,)>>::f("abc"); +} |