3 trait BrokenAdd: Copy + Add<Output=Self> {
4 fn broken_add<T>(&self, rhs: T) -> Self {
5 *self + rhs //~ ERROR mismatched types
6 //~| expected type parameter `Self`, found type parameter `T`
7 //~| expected type parameter `Self`
8 //~| found type parameter `T`
12 impl<T: Copy + Add<Output=T>> BrokenAdd for T {}
16 let x: u8 = foo.broken_add("hello darkness my old friend".to_string());