18 lines
482 B
Rust
18 lines
482 B
Rust
|
//@ edition:2021
|
||
|
#![allow(bare_trait_objects)]
|
||
|
trait A: Sized {
|
||
|
fn f(a: dyn A) -> dyn 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: dyn B) -> dyn 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: dyn C) -> dyn C;
|
||
|
}
|
||
|
|
||
|
fn main() {}
|