| #![allow(bare_trait_objects)] | |
| trait A: Sized { | |
| fn f(a: A) -> A; | |
| //~^ ERROR associated item referring to unboxed trait object for its own trait | |
| //~| ERROR the trait `A` cannot be made into an object | |
| } | |
| trait B { | |
| fn f(a: B) -> B; | |
| //~^ ERROR associated item referring to unboxed trait object for its own trait | |
| //~| ERROR the trait `B` cannot be made into an object | |
| } | |
| trait C { | |
| fn f(&self, a: C) -> C; | |
| } | |
| fn main() {} |