diff options
Diffstat (limited to 'src/test/ui/associated-types/hr-associated-type-bound-param-6.rs')
-rw-r--r-- | src/test/ui/associated-types/hr-associated-type-bound-param-6.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/hr-associated-type-bound-param-6.rs b/src/test/ui/associated-types/hr-associated-type-bound-param-6.rs new file mode 100644 index 000000000..482047b09 --- /dev/null +++ b/src/test/ui/associated-types/hr-associated-type-bound-param-6.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,) { + //~^ ERROR the trait bound `for<'b> T: X<'b, T>` is not satisfied + type U = str; +} + +pub fn main() { + <(i32,) as X<i32>>::f("abc"); +} |