// Makes sure we don't ICE when encountering a receiver that is *ostensibly* dyn safe, | |
// because it satisfies `&dyn Bar: DispatchFromDyn<&dyn Bar>`, but is not a valid receiver | |
// in wfcheck. | |
#![feature(arbitrary_self_types)] | |
use std::ops::Deref; | |
trait Foo: Deref<Target = dyn Bar> { | |
fn method(self: &dyn Bar) {} | |
//~^ ERROR invalid `self` parameter type: `&dyn Bar` | |
} | |
trait Bar {} | |
fn test(x: &dyn Foo) { | |
x.method(); | |
} | |
fn main() {} |