#![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() {} |