@@ -1532,12 +1532,17 @@ class CheckEffectsCoverage : public EffectsHandlingWalker<CheckEffectsCoverage>
1532
1532
Self.Flags .set (ContextFlags::IsTryCovered);
1533
1533
Self.Flags .clear (ContextFlags::HasTryThrowSite);
1534
1534
}
1535
-
1535
+
1536
1536
void enterAwait () {
1537
1537
Self.Flags .set (ContextFlags::IsAsyncCovered);
1538
1538
Self.Flags .clear (ContextFlags::HasAnyAsyncSite);
1539
1539
}
1540
1540
1541
+ void enterAsyncLet () {
1542
+ Self.Flags .set (ContextFlags::IsTryCovered);
1543
+ Self.Flags .set (ContextFlags::IsAsyncCovered);
1544
+ }
1545
+
1541
1546
void refineLocalContext (Context newContext) {
1542
1547
Self.CurContext = newContext;
1543
1548
}
@@ -1602,7 +1607,7 @@ class CheckEffectsCoverage : public EffectsHandlingWalker<CheckEffectsCoverage>
1602
1607
OldFlags.mergeFrom (ContextFlags::HasAnyAwait, Self.Flags );
1603
1608
OldMaxThrowingKind = std::max (OldMaxThrowingKind, Self.MaxThrowingKind );
1604
1609
}
1605
-
1610
+
1606
1611
bool wasTopLevelDebuggerFunction () const {
1607
1612
return OldFlags.has (ContextFlags::IsTopLevelDebuggerFunction);
1608
1613
}
@@ -1678,6 +1683,7 @@ class CheckEffectsCoverage : public EffectsHandlingWalker<CheckEffectsCoverage>
1678
1683
1679
1684
case AutoClosureExpr::Kind::AsyncLet:
1680
1685
scope.resetCoverage ();
1686
+ scope.enterAsyncLet ();
1681
1687
shouldPreserveCoverage = false ;
1682
1688
break ;
1683
1689
}
@@ -1817,10 +1823,11 @@ class CheckEffectsCoverage : public EffectsHandlingWalker<CheckEffectsCoverage>
1817
1823
}
1818
1824
1819
1825
ShouldRecurse_t checkAsyncLet (PatternBindingDecl *patternBinding) {
1820
- // Diagnose async calls in a context that doesn't handle async.
1821
- if (!CurContext.handlesAsync ()) {
1822
- CurContext.diagnoseUnhandledAsyncSite (Ctx.Diags , patternBinding);
1823
- }
1826
+ // Diagnose async let in a context that doesn't handle async.
1827
+ if (!CurContext.handlesAsync ()) {
1828
+ CurContext.diagnoseUnhandledAsyncSite (Ctx.Diags , patternBinding);
1829
+ }
1830
+
1824
1831
return ShouldRecurse;
1825
1832
}
1826
1833
0 commit comments