| //@ check-pass | |
| // Make sure that object safety checking doesn't freak out when | |
| // we have impossible-to-satisfy `DispatchFromDyn` predicates. | |
| #![feature(dispatch_from_dyn)] | |
| #![feature(arbitrary_self_types)] | |
| use std::ops::Deref; | |
| use std::ops::DispatchFromDyn; | |
| trait Trait<T: Deref<Target = Self>> | |
| where | |
| for<'a> &'a T: DispatchFromDyn<&'a T>, | |
| { | |
| fn foo(self: &T) -> Box<dyn Trait<T>>; | |
| } | |
| fn main() {} |