// These are purely to add test coverage of different constructs when emitting modules public protocol _NoCopyP: ~Copyable {} public protocol _NoEscapableP: ~Escapable {} extension Int: _NoCopyP {} public struct _Toys { static func test_parallelAssignment() { var y: Int var x: Int (x, y) = (10, 11) } public struct rdar118697289_S1 { let element: Element func f() -> Element { element } } public struct rdar118697289_S2 { let element: Element subscript(i: Int) -> Element { element } } public static func allCopyable1(_ a: T, _ b: T) -> T { return a } public static func allCopyable2(_ s: T) where T: _NoCopyP {} public static func oneCopyable1(_ s: T, _ v: borrowing V) where T: _NoCopyP {} public static func oneCopyable2(_ s: borrowing T, _ v: V) where T: _NoCopyP, T: ~Copyable {} public static func oneCopyable3(_ s: borrowing T, _ v: V) where T: _NoCopyP & ~Copyable {} public static func basic_some(_ s: some _NoCopyP) {} public static func basic_some_nc(_ s: borrowing some _NoCopyP & ~Copyable) {} public static func oneEscapable(_ s: T, _ v: V) where T: _NoEscapableP, T: ~Escapable {} public static func canEscapeButConforms(_ t: T) {} public static func opaqueNonEscapable(_ s: some _NoEscapableP & ~Escapable) {} public static func opaqueEscapable(_ s: some _NoEscapableP) {} } public struct ExplicitHello: ~Copyable { let thing: T } extension ExplicitHello: Copyable where T: Copyable {} public struct Hello where T: ~Escapable {} public protocol TestAssocTypes { associatedtype A: ~Copyable, _NoCopyP = Int } public typealias SomeAlias = Hello public typealias AliasWithInverse = Hello where G: ~Copyable, G: ~Escapable public struct RudePointer: Copyable {} public class C {} public func noInversesSTART() {} public func checkAny(_ t: Result) where Result: Any {} public func usingClassConstraint(arg: Result) -> Result? where Result: C { return arg } public func withAnyObject(_ t: Result) where Result: AnyObject {} public func noInversesEND() {} public func checkAnyInv1(_ t: borrowing Result) where Result: Any & ~Copyable {} public func checkAnyInv2(_ t: borrowing Result) where Result: ~Copyable & ~Escapable {} public func checkAnyObject(_ t: Result) where Result: AnyObject {}