// check-pass #![feature(type_alias_impl_trait)] trait Trait {} type Opaque = impl Sized; fn foo() -> Opaque { () } impl Trait for (T, V, V, u32) {} impl Trait for (Opaque, V, i32, V) {} fn main() {}