mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
ModuleInterface: Print existential any in swiftinterfaces since any is required for protocols with associated types in 5.7.
Resolves rdar://92976269
This commit is contained in:
37
test/ModuleInterface/existential-any.swift
Normal file
37
test/ModuleInterface/existential-any.swift
Normal file
@@ -0,0 +1,37 @@
|
||||
// RUN: %target-swift-emit-module-interface(%t.swiftinterface) %s -module-name main
|
||||
// RUN: %target-swift-typecheck-module-from-interface(%t.swiftinterface) -module-name main
|
||||
// RUN: %FileCheck %s < %t.swiftinterface
|
||||
|
||||
// CHECK: public protocol P
|
||||
public protocol P { }
|
||||
|
||||
// CHECK: public protocol Q
|
||||
public protocol Q {
|
||||
// CHECK: associatedtype A : main.P
|
||||
associatedtype A: P
|
||||
}
|
||||
|
||||
// CHECK: public func takesAndReturnsP(_ x: any main.P) -> any main.P
|
||||
public func takesAndReturnsP(_ x: P) -> P {
|
||||
return x
|
||||
}
|
||||
|
||||
// CHECK: public func takesAndReturnsOptionalP(_ x: (any main.P)?) -> (any main.P)?
|
||||
public func takesAndReturnsOptionalP(_ x: P?) -> P? {
|
||||
return x
|
||||
}
|
||||
|
||||
// CHECK: public func takesAndReturnsQ(_ x: any main.Q) -> any main.Q
|
||||
public func takesAndReturnsQ(_ x: any Q) -> any Q {
|
||||
return x
|
||||
}
|
||||
|
||||
// CHECK: public struct S
|
||||
public struct S {
|
||||
// CHECK: public var p: any main.P
|
||||
public var p: P
|
||||
// CHECK: public var maybeP: (any main.P)?
|
||||
public var maybeP: P?
|
||||
// CHECK: public var q: any main.Q
|
||||
public var q: any Q
|
||||
}
|
||||
Reference in New Issue
Block a user