// Check that we can statically dispatch methods for object // unsafe trait objects, directly and indirectly // // check-pass #![feature(object_safe_for_dispatch)] trait Statics { fn plain() {} fn generic() {} } trait Trait: Sized {} impl<'a> Statics for dyn Trait + 'a {} fn static_poly() { T::plain(); T::generic::(); } fn inferred_poly(t: &T) { static_poly::(); T::plain(); T::generic::(); } fn call(t: &dyn Trait) { static_poly::(); inferred_poly(t); } fn main() { static_poly::(); ::plain(); ::generic::() }