|
94 | 94 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=ARCHETYPE_GENERIC_1 | %FileCheck %s -check-prefix=ARCHETYPE_GENERIC_1
|
95 | 95 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=PARAM_WITH_ERROR_AUTOCLOSURE| %FileCheck %s -check-prefix=PARAM_WITH_ERROR_AUTOCLOSURE
|
96 | 96 | // RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=TYPECHECKED_OVERLOADED | %FileCheck %s -check-prefix=TYPECHECKED_OVERLOADED
|
| 97 | +// RUN: %target-swift-ide-test -code-completion -source-filename %s -code-completion-token=TYPECHECKED_TYPEEXPR | %FileCheck %s -check-prefix=TYPECHECKED_TYPEEXPR |
97 | 98 |
|
98 | 99 | var i1 = 1
|
99 | 100 | var i2 = 2
|
@@ -753,16 +754,28 @@ struct TestHasErrorAutoclosureParam {
|
753 | 754 | }
|
754 | 755 | }
|
755 | 756 |
|
756 |
| -struct MyType { |
| 757 | +struct MyType<T> { |
| 758 | + init(arg1: String, arg2: T) {} |
757 | 759 | func overloaded() {}
|
758 | 760 | func overloaded(_ int: Int) {}
|
759 | 761 | func overloaded(name: String, value: String) {}
|
760 | 762 | }
|
761 |
| -func testTypecheckedOverloaded(value: MyType) { |
| 763 | +func testTypecheckedOverloaded<T>(value: MyType<T>) { |
762 | 764 | value.overloaded(#^TYPECHECKED_OVERLOADED^#)
|
763 | 765 | // TYPECHECKED_OVERLOADED: Begin completions
|
764 | 766 | // TYPECHECKED_OVERLOADED-DAG: Decl[InstanceMethod]/CurrNominal: ['('][')'][#Void#];
|
765 | 767 | // TYPECHECKED_OVERLOADED-DAG: Decl[InstanceMethod]/CurrNominal: ['(']{#(int): Int#}[')'][#Void#];
|
766 | 768 | // TYPECHECKED_OVERLOADED-DAG: Decl[InstanceMethod]/CurrNominal: ['(']{#name: String#}, {#value: String#}[')'][#Void#];
|
767 | 769 | // TYPECHECKED_OVERLOADED: End completions
|
768 | 770 | }
|
| 771 | + |
| 772 | +extension MyType where T == Int { |
| 773 | + init(_ intVal: T) {} |
| 774 | +} |
| 775 | +func testTypecheckedTypeExpr() { |
| 776 | + MyType(#^TYPECHECKED_TYPEEXPR^# |
| 777 | +} |
| 778 | +// TYPECHECKED_TYPEEXPR: Begin completions |
| 779 | +// TYPECHECKED_TYPEEXPR: Decl[Constructor]/CurrNominal: ['(']{#arg1: String#}, {#arg2: _#}[')'][#MyType<_>#]; name=arg1: String, arg2: _ |
| 780 | +// TYPECHECKED_TYPEEXPR: Decl[Constructor]/CurrNominal: ['(']{#(intVal): Int#}[')'][#MyType<Int>#]; name=intVal: Int |
| 781 | +// TYPECHECKED_TYPEEXPR: End completions |
0 commit comments