#![feature(type_alias_impl_trait)] fn main() {} trait TraitWithAssoc { type Assoc; } type Foo = impl Trait; trait Trait {} impl Trait for () {} fn foo_desugared(_: T) -> Foo { //~^ ERROR non-defining opaque type use () //~^ ERROR expected generic type parameter, found `::Assoc` }