diff options
Diffstat (limited to 'src/test/ui/associated-types/hr-associated-type-bound-param-4.rs')
-rw-r--r-- | src/test/ui/associated-types/hr-associated-type-bound-param-4.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/hr-associated-type-bound-param-4.rs b/src/test/ui/associated-types/hr-associated-type-bound-param-4.rs new file mode 100644 index 000000000..20c8157ed --- /dev/null +++ b/src/test/ui/associated-types/hr-associated-type-bound-param-4.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"); +} |