| // Check that we if we get ahold of an object unsafe trait | |
| // object with auto traits and lifetimes, we can downcast it | |
| // | |
| // check-pass | |
| #![feature(object_safe_for_dispatch)] | |
| trait Trait: Sized {} | |
| fn downcast_auto(t: &(dyn Trait + Send)) -> &dyn Trait { | |
| t | |
| } | |
| fn downcast_lifetime<'a, 'b, 't>(t: &'a (dyn Trait + 't)) | |
| -> &'b (dyn Trait + 't) | |
| where | |
| 'a: 'b, | |
| 't: 'a + 'b, | |
| { | |
| t | |
| } | |
| fn main() {} |