Skip to content

Commit e7d2dfa

Browse files
authored
Merge pull request #63567 from Rajveer100/branch-for-issue-63291
[Sema] Fix Issue #63291 by aligning error messages for failure to infer generic parameter and opaque result type
2 parents 0dd1e36 + 33bf9d2 commit e7d2dfa

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

include/swift/AST/DiagnosticsSema.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3918,7 +3918,7 @@ ERROR(unresolved_member_no_inference,none,
39183918
ERROR(cannot_infer_base_of_unresolved_member,none,
39193919
"cannot infer contextual base in reference to member %0", (DeclNameRef))
39203920
ERROR(cannot_infer_underlying_for_opaque_result,none,
3921-
"cannot infer underlying type for opaque result %0 from return expression",
3921+
"underlying type for opaque result type %0 could not be inferred from return expression",
39223922
(Type))
39233923
ERROR(unresolved_nil_literal,none,
39243924
"'nil' requires a contextual type", ())

test/type/opaque.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -581,12 +581,12 @@ do {
581581

582582
// https://github.com/apple/swift/issues/62787
583583
func f62787() -> Optional<some Collection<Int>> {
584-
return nil // expected-error{{cannot infer underlying type for opaque result 'Optional<some Collection<Int>>' from return expression}}
584+
return nil // expected-error{{underlying type for opaque result type 'Optional<some Collection<Int>>' could not be inferred from return expression}}
585585
}
586586

587587
func f62787_1(x: Bool) -> Optional<some Collection<Int>> {
588588
if x {
589-
return nil // expected-error{{cannot infer underlying type for opaque result 'Optional<some Collection<Int>>' from return expression}}
589+
return nil // expected-error{{underlying type for opaque result type 'Optional<some Collection<Int>>' could not be inferred from return expression}}
590590
}
591-
return nil // expected-error{{cannot infer underlying type for opaque result 'Optional<some Collection<Int>>' from return expression}}
591+
return nil // expected-error{{underlying type for opaque result type 'Optional<some Collection<Int>>' could not be inferred from return expression}}
592592
}

test/type/opaque_return_named.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
// Tests for experimental extensions to opaque return type support.
44

55
func f0() -> <T> T { return () }
6-
func f1() -> <T, U, V> T { () } // expected-error{{cannot infer underlying type for opaque result 'T' from return expression}}
6+
func f1() -> <T, U, V> T { () } // expected-error{{underlying type for opaque result type 'T' could not be inferred from return expression}}
77
func f2() -> <T: Collection, U: SignedInteger> T { // expected-note{{required by opaque return type of global function 'f2()'}}
88
() // expected-error{{type '()' cannot conform to 'Collection'}}
99
// expected-note@-1{{only concrete types such as structs, enums and classes can conform to protocols}}
10-
// expected-error@-2{{cannot infer underlying type for opaque result 'T' from return expression}}
10+
// expected-error@-2{{underlying type for opaque result type 'T' could not be inferred from return expression}}
1111
}
1212

1313
func f4() async -> <T> T { () }

0 commit comments

Comments
 (0)