2024-01-09 00:22:35 +00:00
|
|
|
//@ edition:2021
|
|
|
|
#![allow(bare_trait_objects)]
|
|
|
|
trait A: Sized {
|
|
|
|
fn f(a: A) -> A;
|
2024-10-04 16:10:28 +02:00
|
|
|
//~^ ERROR expected a type, found a trait
|
|
|
|
//~| ERROR expected a type, found a trait
|
2024-01-19 23:49:40 +00:00
|
|
|
//~| ERROR associated item referring to unboxed trait object for its own trait
|
2024-01-09 00:22:35 +00:00
|
|
|
}
|
|
|
|
trait B {
|
2024-01-20 20:12:54 +04:00
|
|
|
fn f(b: B) -> B;
|
2024-10-04 16:10:28 +02:00
|
|
|
//~^ ERROR expected a type, found a trait
|
|
|
|
//~| ERROR expected a type, found a trait
|
2024-01-19 23:49:40 +00:00
|
|
|
//~| ERROR associated item referring to unboxed trait object for its own trait
|
2024-01-09 00:22:35 +00:00
|
|
|
}
|
|
|
|
trait C {
|
2024-01-20 20:12:54 +04:00
|
|
|
fn f(&self, c: C) -> C;
|
2024-10-04 16:10:28 +02:00
|
|
|
//~^ ERROR expected a type, found a trait
|
|
|
|
//~| ERROR expected a type, found a trait
|
2024-01-20 20:12:54 +04:00
|
|
|
//~| ERROR associated item referring to unboxed trait object for its own trait
|
2024-01-09 00:22:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|