File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
branches/master-rebranch/lib/Sema Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -1455,7 +1455,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2019-08-02-a: ddd2b2976aa9bfde5f20fe37f6bd2
1455
1455
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2019-08-03-a: 171cc166f2abeb5ca2a4003700a8a78a108bd300
1456
1456
refs/heads/benlangmuir-patch-1: baaebaf39d52f3bf36710d4fe40cf212e996b212
1457
1457
refs/heads/i-do-redeclare: 8c4e6d5de5c1e3f0a2cedccf319df713ea22c48e
1458
- refs/heads/master-rebranch: 32cfd5bd19592fd281f33bbb7236ba5c74c82c6a
1458
+ refs/heads/master-rebranch: 28d0c089bc442c3cbe9abb225631bd4db74af296
1459
1459
refs/heads/rdar-53901732: 9bd06af3284e18a109cdbf9aa59d833b24eeca7b
1460
1460
refs/heads/revert-26776-subst-always-returns-a-type: 1b8e18fdd391903a348970a4c848995d4cdd789c
1461
1461
refs/heads/tensorflow-merge: 8b854f62f80d4476cb383d43c4aac2001dde3cec
Original file line number Diff line number Diff line change @@ -2266,6 +2266,18 @@ namespace {
2266
2266
if (!choice.isImplicitlyUnwrappedValueOrReturnValue ())
2267
2267
return false ;
2268
2268
2269
+ // If we have an IUO function call and don't have a disjunction choice,
2270
+ // then it means we didn't create a disjunction because the call was
2271
+ // wrapped in parens (i.e. '(s.returnsAnIUO)()') and so there's no
2272
+ // need to force unwrap.
2273
+ if (!solution.DisjunctionChoices .count (
2274
+ cs.getConstraintLocator (locator))) {
2275
+ auto type = choice.getDecl ()->getInterfaceType ();
2276
+ assert ((type && type->is <AnyFunctionType>()) &&
2277
+ " expected a function type" );
2278
+ return false ;
2279
+ }
2280
+
2269
2281
auto *choiceLocator = cs.getConstraintLocator (locator.withPathElement (
2270
2282
ConstraintLocator::ImplicitlyUnwrappedDisjunctionChoice));
2271
2283
You can’t perform that action at this time.
0 commit comments