Files
swift-mirror/test/IRGen/Inputs/metadata2.swift
Arnold Schwaighofer 8e0189181e IRGen: Fix handling of singleton aggregate projections and tuple types
Follow up to "IRGen: getSingletonAggregateFieldType must not return field if
its access level does not match"

rdar://50554717
2019-06-05 08:18:02 -07:00

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)
}
}