about summary refs log tree commit diff
path: root/tests/ui/associated-types/hr-associated-type-bound-param-2.rs
blob: d6546c24dc50bece2ec77d0adb4a595f09894739 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
trait Z<'a, T: ?Sized>
where
    T: Z<'a, u16>,
    //~^ ERROR the trait bound `str: Clone` is not satisfied
    //~| ERROR the trait bound `str: Clone` is not satisfied
    for<'b> <T as Z<'b, u16>>::W: Clone,
{
    type W: ?Sized;
    fn h(&self, x: &T::W) {
        <T::W>::clone(x);
        //~^ ERROR the trait bound `str: Clone` is not satisfied
        //~| ERROR the trait bound `str: Clone` is not satisfied
        //~| ERROR the trait bound `str: Clone` is not satisfied
    }
}

impl<'a> Z<'a, u16> for u16 {
    type W = str;
    //~^ ERROR the trait bound `str: Clone
}

fn main() {
    1u16.h("abc");
    //~^ ERROR Clone` is not satisfied
}