#![feature(type_alias_impl_trait)]
trait Trait {
type Assoc;
fn take_me(self);
}
impl<T> Trait for T {
type Assoc = ();
fn take_me(self) {}
}
type Tait = impl Trait;
#[define_opaque(Tait)]
fn bar() -> Tait::Assoc { // ERROR: this is ambig
let _: Tait = ();
}