// RUN: %target-typecheck-verify-swift typealias Not = (A) -> Never typealias And = (left: A, right: B) indirect enum Or { case inl(A) case inr(B) } func deMorgan(_ ne: Not>) -> And, Not> { return And, Not>( Not { a in ne(.left(a)) }, // expected-error {{non-nominal type 'Not' (aka '(A) -> Never') does not support explicit initialization}} Not { a in ne(.right(a)) } ) }