// Regression test for issue #66580 // Ensures that we don't try to determine whether a closure // is foreign when it's the underlying type of an opaque type //@ check-pass #![feature(type_alias_impl_trait)] type Closure = impl FnOnce(); #[define_opaque(Closure)] fn closure() -> Closure { || {} } struct Wrap { f: T, } impl Wrap {} impl Wrap {} fn main() {}