| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 
 | trait Marker {}
impl Marker for u32 {}
trait MyTrait {
    fn foo(&self) -> impl Marker;
}
struct Outer;
impl MyTrait for Outer {
    fn foo(&self) -> impl Marker {
        42
    }
}
impl dyn MyTrait {
    //~^ ERROR the trait `MyTrait` cannot be made into an object
    fn other(&self) -> impl Marker {
        //~^ ERROR the trait `MyTrait` cannot be made into an object
        MyTrait::foo(&self)
        //~^ ERROR the trait bound `&dyn MyTrait: MyTrait` is not satisfied
        //~| ERROR the trait bound `&dyn MyTrait: MyTrait` is not satisfied
        //~| ERROR the trait `MyTrait` cannot be made into an object
    }
}
fn main() {}
 |