@@ -52,19 +52,6 @@ enum HasAssociatedValues: Hashable {
52
52
// CHECK: case c
53
53
case c
54
54
55
- // CHECK: internal func hash(into hasher: inout Hasher) {
56
- // CHECK-NEXT: switch self {
57
- // CHECK-NEXT: case .a(let a0):
58
- // CHECK-NEXT: hasher.combine(0)
59
- // CHECK-NEXT: hasher.combine(a0)
60
- // CHECK-NEXT: case .b(let a0):
61
- // CHECK-NEXT: hasher.combine(1)
62
- // CHECK-NEXT: hasher.combine(a0)
63
- // CHECK-NEXT: case .c:
64
- // CHECK-NEXT: hasher.combine(2)
65
- // CHECK-NEXT: }
66
- // CHECK-NEXT: }
67
-
68
55
// CHECK: @_implements(Equatable, ==(_:_:)) internal static func __derived_enum_equals(_ a: HasAssociatedValues, _ b: HasAssociatedValues) -> Bool {
69
56
// CHECK-NEXT: switch (a, b) {
70
57
// CHECK-NEXT: case (.a(let l0), .a(let r0)):
@@ -84,6 +71,19 @@ enum HasAssociatedValues: Hashable {
84
71
// CHECK-NEXT: }
85
72
// CHECK-NEXT: }
86
73
74
+ // CHECK: internal func hash(into hasher: inout Hasher) {
75
+ // CHECK-NEXT: switch self {
76
+ // CHECK-NEXT: case .a(let a0):
77
+ // CHECK-NEXT: hasher.combine(0)
78
+ // CHECK-NEXT: hasher.combine(a0)
79
+ // CHECK-NEXT: case .b(let a0):
80
+ // CHECK-NEXT: hasher.combine(1)
81
+ // CHECK-NEXT: hasher.combine(a0)
82
+ // CHECK-NEXT: case .c:
83
+ // CHECK-NEXT: hasher.combine(2)
84
+ // CHECK-NEXT: }
85
+ // CHECK-NEXT: }
86
+
87
87
// CHECK: internal var hashValue: Int {
88
88
// CHECK-NEXT: get {
89
89
// CHECK-NEXT: return _hashValue(for: self)
@@ -145,16 +145,6 @@ enum HasAssociatedValuesAndUnavailableElement: Hashable {
145
145
@available ( * , unavailable)
146
146
case b( String )
147
147
148
- // CHECK: internal func hash(into hasher: inout Hasher) {
149
- // CHECK-NEXT: switch self {
150
- // CHECK-NEXT: case .a(let a0):
151
- // CHECK-NEXT: hasher.combine(0)
152
- // CHECK-NEXT: hasher.combine(a0)
153
- // CHECK-NEXT: case .b:
154
- // CHECK-NEXT: _diagnoseUnavailableCodeReached{{.*}}()
155
- // CHECK-NEXT: }
156
- // CHECK-NEXT: }
157
-
158
148
// CHECK: @_implements(Equatable, ==(_:_:)) internal static func __derived_enum_equals(_ a: HasAssociatedValuesAndUnavailableElement, _ b: HasAssociatedValuesAndUnavailableElement) -> Bool {
159
149
// CHECK-NEXT: switch (a, b) {
160
150
// CHECK-NEXT: case (.a(let l0), .a(let r0)):
@@ -169,6 +159,17 @@ enum HasAssociatedValuesAndUnavailableElement: Hashable {
169
159
// CHECK-NEXT: }
170
160
// CHECK-NEXT: }
171
161
162
+
163
+ // CHECK: internal func hash(into hasher: inout Hasher) {
164
+ // CHECK-NEXT: switch self {
165
+ // CHECK-NEXT: case .a(let a0):
166
+ // CHECK-NEXT: hasher.combine(0)
167
+ // CHECK-NEXT: hasher.combine(a0)
168
+ // CHECK-NEXT: case .b:
169
+ // CHECK-NEXT: _diagnoseUnavailableCodeReached{{.*}}()
170
+ // CHECK-NEXT: }
171
+ // CHECK-NEXT: }
172
+
172
173
// CHECK: internal var hashValue: Int {
173
174
// CHECK-NEXT: get {
174
175
// CHECK-NEXT: return _hashValue(for: self)
0 commit comments