@@ -306,10 +306,8 @@ ValueDecl *RequirementFailure::getDeclRef() const {
306306 // and its contextual requirements, it means that affected declaration
307307 // is a declarer of a contextual "result" type e.g. member of a
308308 // type, local function etc.
309- if (contextualPurpose == CTP_ReturnStmt ||
310- contextualPurpose == CTP_ImpliedReturnStmt) {
309+ if (contextualPurpose == CTP_ReturnStmt)
311310 return cast<ValueDecl>(getDC ()->getAsDecl ());
312- }
313311
314312 if (contextualPurpose == CTP_DefaultParameter ||
315313 contextualPurpose == CTP_AutoclosureDefaultParameter) {
@@ -772,7 +770,6 @@ GenericArgumentsMismatchFailure::getDiagnosticFor(
772770 case CTP_AssignSource:
773771 return diag::cannot_convert_assign;
774772 case CTP_ReturnStmt:
775- case CTP_ImpliedReturnStmt:
776773 return diag::cannot_convert_to_return_type;
777774 case CTP_DefaultParameter:
778775 case CTP_AutoclosureDefaultParameter:
@@ -2483,7 +2480,7 @@ bool ContextualFailure::diagnoseAsError() {
24832480 auto anchor = getAnchor ();
24842481 auto path = getLocator ()->getPath ();
24852482
2486- if (CTP == CTP_ImpliedReturnStmt || CTP == CTP_ReturnStmt) {
2483+ if (CTP == CTP_ReturnStmt) {
24872484 // Special case the "conversion to void".
24882485 if (getToType ()->isVoid ()) {
24892486 emitDiagnostic (diag::cannot_return_value_from_void_func)
@@ -2824,7 +2821,6 @@ getContextualNilDiagnostic(ContextualTypePurpose CTP) {
28242821 case CTP_Initialization:
28252822 return diag::cannot_convert_initializer_value_nil;
28262823
2827- case CTP_ImpliedReturnStmt:
28282824 case CTP_ReturnStmt:
28292825 return diag::cannot_convert_to_return_type_nil;
28302826
@@ -3568,8 +3564,7 @@ ContextualFailure::getDiagnosticFor(ContextualTypePurpose context,
35683564 return forProtocol ? diag::cannot_convert_initializer_value_protocol
35693565 : diag::cannot_convert_initializer_value;
35703566 }
3571- case CTP_ReturnStmt:
3572- case CTP_ImpliedReturnStmt: {
3567+ case CTP_ReturnStmt: {
35733568 if (contextualType->isAnyObject ())
35743569 return diag::cannot_convert_return_type_to_anyobject;
35753570
0 commit comments