|
14 | 14 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=UNRESOLVED_OPT_1 | %FileCheck %s -check-prefix=UNRESOLVED_3_OPT
|
15 | 15 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=UNRESOLVED_OPT_2 | %FileCheck %s -check-prefix=UNRESOLVED_3_OPT
|
16 | 16 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=UNRESOLVED_OPT_3 | %FileCheck %s -check-prefix=UNRESOLVED_3_OPTOPTOPT
|
| 17 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=UNRESOLVED_OPT_4 | %FileCheck %s -check-prefix=UNRESOLVED_OPT_4 |
17 | 18 |
|
18 | 19 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=UNRESOLVED_12 | %FileCheck %s -check-prefix=UNRESOLVED_3
|
19 | 20 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=UNRESOLVED_13 | %FileCheck %s -check-prefix=UNRESOLVED_3
|
@@ -251,18 +252,42 @@ class C4 {
|
251 | 252 | // UNRESOLVED_3_OPT: Begin completions
|
252 | 253 | // UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: North[#SomeEnum1#];
|
253 | 254 | // UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: South[#SomeEnum1#];
|
254 |
| -// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: none[#Optional<SomeEnum1>#]; name=none |
255 |
| -// UNRESOLVED_3_OPT-DAG: Decl[EnumElement]/ExprSpecific: some({#SomeEnum1#})[#Optional<SomeEnum1>#]; |
256 |
| -// UNRESOLVED_3_OPT-DAG: Decl[Constructor]/CurrNominal: init({#(some): SomeEnum1#})[#Optional<SomeEnum1>#]; |
257 |
| -// UNRESOLVED_3_OPT-DAG: Decl[Constructor]/CurrNominal: init({#nilLiteral: ()#})[#Optional<SomeEnum1>#]; |
| 255 | +// UNRESOLVED_3_OPT-DAG: Keyword[nil]/ExprSpecific/Erase[1]: nil[#SomeEnum1?#]; name=nil |
| 256 | +// UNRESOLVED_3_OPT-NOT: none |
| 257 | +// UNRESOLVED_3_OPT-NOT: some |
| 258 | +// UNRESOLVED_3_OPT-NOT: init({#(some): |
| 259 | +// UNRESOLVED_3_OPT-NOT: init({#nilLiteral: |
258 | 260 |
|
259 | 261 | // UNRESOLVED_3_OPTOPTOPT: Begin completions
|
260 | 262 | // UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: North[#SomeEnum1#];
|
261 | 263 | // UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: South[#SomeEnum1#];
|
262 |
| -// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: none[#Optional<SomeEnum1??>#]; name=none |
263 |
| -// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[EnumElement]/ExprSpecific: some({#SomeEnum1??#})[#Optional<SomeEnum1??>#]; |
264 |
| -// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[Constructor]/CurrNominal: init({#(some): SomeEnum1??#})[#Optional<SomeEnum1??>#]; |
265 |
| -// UNRESOLVED_3_OPTOPTOPT-DAG: Decl[Constructor]/CurrNominal: init({#nilLiteral: ()#})[#Optional<SomeEnum1??>#]; |
| 264 | +// UNRESOLVED_3_OPTOPTOPT-DAG: Keyword[nil]/ExprSpecific/Erase[1]: nil[#SomeEnum1???#]; name=nil |
| 265 | +// UNRESOLVED_3_OPTOPTOPT-NOT: none |
| 266 | +// UNRESOLVED_3_OPTOPTOPT-NOT: some |
| 267 | +// UNRESOLVED_3_OPTOPTOPT-NOT: init({#(some): |
| 268 | +// UNRESOLVED_3_OPTOPTOPT-NOT: init({#nilLiteral: |
| 269 | + |
| 270 | +enum Somewhere { |
| 271 | + case earth, mars |
| 272 | +} |
| 273 | +extension Optional where Wrapped == Somewhere { |
| 274 | + init(str: String) { fatalError() } |
| 275 | + static var nowhere: Self { return nil } |
| 276 | +} |
| 277 | +func testOptionalWithCustomExtension() { |
| 278 | + var _: Somewhere? = .#^UNRESOLVED_OPT_4^# |
| 279 | +// UNRESOLVED_OPT_4: Begin completions |
| 280 | +// UNRESOLVED_OPT_4-DAG: Decl[EnumElement]/ExprSpecific: earth[#Somewhere#]; |
| 281 | +// UNRESOLVED_OPT_4-DAG: Decl[EnumElement]/ExprSpecific: mars[#Somewhere#]; |
| 282 | +// UNRESOLVED_OPT_4-DAG: Keyword[nil]/ExprSpecific/Erase[1]: nil[#Somewhere?#]; name=nil |
| 283 | +// UNRESOLVED_OPT_4-DAG: Decl[Constructor]/CurrNominal: init({#str: String#})[#Optional<Somewhere>#]; name=init(str: String) |
| 284 | +// UNRESOLVED_OPT_4-DAG: Decl[StaticVar]/CurrNominal/TypeRelation[Identical]: nowhere[#Optional<Somewhere>#]; name=nowhere |
| 285 | +// UNRESOLVED_OPT_4-NOT: none |
| 286 | +// UNRESOLVED_OPT_4-NOT: some |
| 287 | +// UNRESOLVED_OPT_4-NOT: init({#(some): |
| 288 | +// UNRESOLVED_OPT_4-NOT: init({#nilLiteral: |
| 289 | +} |
| 290 | + |
266 | 291 |
|
267 | 292 | class C5 {
|
268 | 293 | func f1() {
|
|
0 commit comments