Skip to content

Commit 9fd4f00

Browse files
[tests][SR-9425] Add regression tests for enum equatable match
1 parent 89039a8 commit 9fd4f00

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
// RUN: %target-swift-emit-silgen -module-name main %s -verify | %FileCheck %s
2+
// SR-9425
3+
enum MyState : String {
4+
case closed = "closed"
5+
case opened = "opened"
6+
}
7+
8+
@inline(never)
9+
func check_state(_ state : MyState) -> Int {
10+
// CHECK: function_ref @$s4main7MyStateO21__derived_enum_equalsySbAC_ACtFZ
11+
return state == .opened ? 1 : 0
12+
}
13+
14+
// regular-enum.swift
15+
enum Regular {
16+
case closed
17+
case opened
18+
}
19+
20+
@inline(never)
21+
func check_regular(_ state : Regular) -> Int {
22+
// CHECK: function_ref @$s4main7RegularO21__derived_enum_equalsySbAC_ACtFZ
23+
return state == .closed ? 1 : 0
24+
}
25+
26+
// string-enum.swift
27+
enum Alphabet : String {
28+
case A = "A", B = "B", C = "C", D = "D", E = "E", F = "F", G = "G", H = "H", I = "I", J = "J"
29+
}
30+
31+
@inline(never)
32+
func check_alphabet(_ state : Alphabet) -> Int {
33+
// CHECK: function_ref @$s4main8AlphabetO21__derived_enum_equalsySbAC_ACtFZ
34+
return state == .E ? 1 : 0
35+
}
36+
37+
@inline(never)
38+
func compareIt(_ state : Alphabet, _ rhs: Alphabet) -> Bool {
39+
// CHECK: function_ref @$s4main8AlphabetO21__derived_enum_equalsySbAC_ACtFZ
40+
return state == rhs
41+
}
42+
43+
// int-enum.swift
44+
enum AlphabetInt : Int {
45+
case A = 10, B = 100, C = 12, D = 456, E = 1, F = 3, G = 77, H = 2, I = 27, J = 42
46+
}
47+
48+
@inline(never)
49+
func check_alphabet_int(_ state : AlphabetInt) -> Int {
50+
// CHECK: function_ref @$s4main11AlphabetIntO21__derived_enum_equalsySbAC_ACtFZ
51+
return state == .E ? 1 : 0
52+
}
53+
54+
@inline(never)
55+
func compareIt(_ state : AlphabetInt, _ rhs: AlphabetInt) -> Bool {
56+
// CHECK: function_ref @$s4main11AlphabetIntO21__derived_enum_equalsySbAC_ACtFZ
57+
return state == rhs
58+
}

0 commit comments

Comments
 (0)