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