// 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() {}