Skip to content

Commit 7f38405

Browse files
committed
[Parse] Upgrade unlabeled_parameter_following_variadic_parameter to Swift 4 error.
Part of rdar://problem/28961650 .
1 parent e4686b8 commit 7f38405

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

include/swift/AST/DiagnosticsParse.def

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -851,8 +851,10 @@ ERROR(parameter_curry_syntax_removed,none,
851851
ERROR(initializer_as_typed_pattern,none,
852852
"unexpected initializer in pattern; did you mean to use '='?", ())
853853

854-
WARNING(unlabeled_parameter_following_variadic_parameter,none,
854+
WARNING(swift3_unlabeled_parameter_following_variadic_parameter,none,
855855
"a parameter following a variadic parameter requires a label", ())
856+
ERROR(unlabeled_parameter_following_variadic_parameter,none,
857+
"a parameter following a variadic parameter requires a label", ())
856858

857859
//------------------------------------------------------------------------------
858860
// Statement parsing diagnostics

lib/Parse/ParsePattern.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,8 +442,11 @@ mapParsedParameters(Parser &parser,
442442
// Warn when an unlabeled parameter follows a variadic parameter
443443
if (ellipsisLoc.isValid() && elements.back()->isVariadic() &&
444444
param.FirstName.empty()) {
445-
parser.diagnose(param.FirstNameLoc,
446-
diag::unlabeled_parameter_following_variadic_parameter);
445+
auto message =
446+
parser.Context.isSwiftVersion3()
447+
? diag::swift3_unlabeled_parameter_following_variadic_parameter
448+
: diag::unlabeled_parameter_following_variadic_parameter;
449+
parser.diagnose(param.FirstNameLoc, message);
447450
}
448451

449452
// If this parameter had an ellipsis, check whether it's the last parameter.

0 commit comments

Comments
 (0)