File tree Expand file tree Collapse file tree 3 files changed +22
-4
lines changed
Expand file tree Collapse file tree 3 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 33| enum_is_case.swift:6:1:6:1 | ... is some | getSubExpr: | enum_is_case.swift:6:1:6:1 | 42 | getTypeRepr: | enum_is_case.swift:6:7:6:10 | ...? | getElement: | file://:0:0:0:0 | some |
44| enum_is_case.swift:7:1:7:1 | ... is some | getSubExpr: | enum_is_case.swift:7:1:7:1 | 42 | getTypeRepr: | enum_is_case.swift:7:7:7:11 | ...? | getElement: | file://:0:0:0:0 | some |
55| enum_is_case.swift:9:1:9:19 | ... is some | getSubExpr: | enum_is_case.swift:9:1:9:19 | [...] | getTypeRepr: | enum_is_case.swift:9:24:9:28 | [...] | getElement: | file://:0:0:0:0 | some |
6- | enum_is_case.swift:14:1:14:18 | ... is some | getSubExpr: | enum_is_case.swift:14:1:14:18 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:14:23:14:23 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
6+ | enum_is_case.swift:20:1:20:18 | ... is some | getSubExpr: | enum_is_case.swift:20:1:20:18 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:20:23:20:23 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
7+ | enum_is_case.swift:22:1:22:5 | ... is some | getSubExpr: | enum_is_case.swift:22:1:22:5 | [...] | getTypeRepr: | enum_is_case.swift:22:10:22:12 | [...] | getElement: | file://:0:0:0:0 | some |
8+ | enum_is_case.swift:23:1:23:10 | ... is some | getSubExpr: | enum_is_case.swift:23:1:23:10 | [...] | getTypeRepr: | enum_is_case.swift:23:15:23:25 | [... : ...] | getElement: | file://:0:0:0:0 | some |
9+ | enum_is_case.swift:24:1:24:10 | ... is some | getSubExpr: | enum_is_case.swift:24:1:24:10 | [...] | getTypeRepr: | enum_is_case.swift:24:15:24:25 | [... : ...] | getElement: | file://:0:0:0:0 | some |
10+ | enum_is_case.swift:25:1:25:8 | ... is some | getSubExpr: | enum_is_case.swift:25:1:25:8 | call to ... | getTypeRepr: | enum_is_case.swift:25:13:25:18 | ...<...> | getElement: | file://:0:0:0:0 | some |
Original file line number Diff line number Diff line change 33| enum_is_case.swift:6:1:6:1 | ... is some | Bool |
44| enum_is_case.swift:7:1:7:1 | ... is some | Bool |
55| enum_is_case.swift:9:1:9:19 | ... is some | Bool |
6- | enum_is_case.swift:14:1:14:18 | ... is some | Bool |
6+ | enum_is_case.swift:20:1:20:18 | ... is some | Bool |
7+ | enum_is_case.swift:22:1:22:5 | ... is some | Bool |
8+ | enum_is_case.swift:23:1:23:10 | ... is some | Bool |
9+ | enum_is_case.swift:24:1:24:10 | ... is some | Bool |
10+ | enum_is_case.swift:25:1:25:8 | ... is some | Bool |
Original file line number Diff line number Diff line change 11// EnumIsCaseExpr despite its generic nature is actually only generated when an `is` expression passes through an
2- // intrinsic Optional check
2+ // intrinsic Optional check, or an array, dictionary or set downcast
33
44Optional . some ( 42 ) is Int
55Optional . some ( Optional . some ( 42 ) ) is Int
@@ -9,6 +9,16 @@ Optional.some(Optional.some(42)) is Int
99[ Optional . some ( 42 ) ] is [ Int ]
1010[ 42 ] is [ Int ? ]
1111
12- class X { }
12+ class X : Hashable {
13+ static func == ( lhs: X , rhs: X ) -> Bool { return true }
14+ func hash( into hasher: inout Hasher ) { }
15+ }
16+
1317class Y : X { }
18+
1419Optional . some ( Y ( ) ) is X
20+
21+ [ X ( ) ] is [ Y ]
22+ [ " x " : X ( ) ] is [ String : Y ]
23+ [ " x " : X ( ) ] is [ String : Y ]
24+ Set < X > ( ) is Set < Y >
You can’t perform that action at this time.
0 commit comments