mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
38 lines
603 B
Swift
38 lines
603 B
Swift
// All of this is required in order to produce materializeForSet
|
|
// declarations for A's properties.
|
|
public protocol NilLiteralConvertible {
|
|
init(nilLiteral: ())
|
|
}
|
|
public enum Optional<T> : NilLiteralConvertible {
|
|
case none
|
|
case some(T)
|
|
|
|
public init(nilLiteral: ()) { self = .none }
|
|
}
|
|
|
|
public struct Y {}
|
|
|
|
public struct X<U> {
|
|
public var a : U
|
|
|
|
public init(_a : U) {
|
|
a = _a
|
|
}
|
|
|
|
public func doneSomething() {}
|
|
}
|
|
|
|
public class A {
|
|
public var y : Y
|
|
public var x : X<Y>
|
|
|
|
public init() {
|
|
y = Y()
|
|
x = X<Y>(_a: y)
|
|
}
|
|
|
|
public func doSomething() {
|
|
x.doneSomething()
|
|
}
|
|
}
|