File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -5890,9 +5890,14 @@ Type EnumElementDecl::getArgumentInterfaceType() const {
5890
5890
5891
5891
auto funcTy = interfaceType->castTo <AnyFunctionType>();
5892
5892
funcTy = funcTy->getResult ()->castTo <FunctionType>();
5893
- return AnyFunctionType::composeInput (funcTy->getASTContext (),
5894
- funcTy->getParams (),
5895
- /* canonicalVararg=*/ false );
5893
+
5894
+ auto &ctx = getASTContext ();
5895
+ SmallVector<TupleTypeElt, 4 > elements;
5896
+ for (const auto ¶m : funcTy->getParams ()) {
5897
+ Type eltType = param.getParameterType (/* canonicalVararg=*/ false , &ctx);
5898
+ elements.emplace_back (eltType, param.getLabel ());
5899
+ }
5900
+ return TupleType::get (elements, ctx);
5896
5901
}
5897
5902
5898
5903
EnumCaseDecl *EnumElementDecl::getParentCase () const {
Original file line number Diff line number Diff line change @@ -14,3 +14,11 @@ enum Multi {
14
14
case F( ( Multi ) -> ( ) )
15
15
case G( ( Multi ) -> ( ) )
16
16
}
17
+
18
+ enum Autoclosure < T> {
19
+ case first( @autoclosure ( ) -> Bool , T )
20
+ case second( Int , @autoclosure ( ) -> T )
21
+ }
22
+
23
+ _ = Autoclosure . first ( false , 3 )
24
+ _ = Autoclosure . second ( 3 , " hi " )
You can’t perform that action at this time.
0 commit comments