mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Follow up to "IRGen: getSingletonAggregateFieldType must not return field if its access level does not match" rdar://50554717
90 lines
1.6 KiB
Swift
90 lines
1.6 KiB
Swift
import resilient_struct
|
|
|
|
struct Item {
|
|
var d: ResilientInt? = nil
|
|
}
|
|
|
|
struct InternalContainer {
|
|
|
|
fileprivate enum SomeEnumType {
|
|
case none
|
|
case single(Item)
|
|
|
|
init(item: [Item]) {
|
|
if item.count >= 1 {
|
|
self = .single(item.first!)
|
|
} else {
|
|
self = .none
|
|
}
|
|
}
|
|
}
|
|
private var type: SomeEnumType
|
|
|
|
init(item: [Item]) {
|
|
self.type = SomeEnumType(item: item)
|
|
}
|
|
}
|
|
|
|
struct InternalContainer2 {
|
|
|
|
fileprivate enum SomeEnumType {
|
|
case none
|
|
case single(Item)
|
|
|
|
init(item: [Item]) {
|
|
if item.count >= 1 {
|
|
self = .single(item.first!)
|
|
} else {
|
|
self = .none
|
|
}
|
|
}
|
|
}
|
|
|
|
private var type: (SomeEnumType, SomeEnumType)
|
|
|
|
init(item: [Item]) {
|
|
self.type = SomeEnumType(item: item)
|
|
}
|
|
}
|
|
|
|
enum InternalSingletonEnum {
|
|
fileprivate enum SomeEnumType {
|
|
case none
|
|
case single(Item)
|
|
|
|
init(item: [Item]) {
|
|
if item.count >= 1 {
|
|
self = .single(item.first!)
|
|
} else {
|
|
self = .none
|
|
}
|
|
}
|
|
}
|
|
case first(SomeEnumType)
|
|
|
|
init() {
|
|
return .first(.none)
|
|
}
|
|
}
|
|
|
|
enum InternalSingletonEnum2 {
|
|
fileprivate enum SomeEnumType {
|
|
case none
|
|
case single(Item)
|
|
|
|
init(item: [Item]) {
|
|
if item.count >= 1 {
|
|
self = .single(item.first!)
|
|
} else {
|
|
self = .none
|
|
}
|
|
}
|
|
}
|
|
|
|
case first(SomeEnumType, SomeEnumType)
|
|
|
|
init() {
|
|
return .first(.none, .none)
|
|
}
|
|
}
|