@@ -96,6 +96,8 @@ static void diagSyntacticUseRestrictions(const Expr *E, const DeclContext *DC,
9696 return false ;
9797 }
9898
99+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
100+
99101 bool shouldWalkIntoTapExpression () override { return false ; }
100102
101103 std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -1332,6 +1334,8 @@ static void diagRecursivePropertyAccess(const Expr *E, const DeclContext *DC) {
13321334 return false ;
13331335 }
13341336
1337+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
1338+
13351339 bool shouldWalkIntoTapExpression () override { return false ; }
13361340
13371341 std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -1505,6 +1509,8 @@ static void diagnoseImplicitSelfUseInClosure(const Expr *E,
15051509 return false ;
15061510 }
15071511
1512+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
1513+
15081514 bool shouldWalkIntoTapExpression () override { return false ; }
15091515
15101516 std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -1515,7 +1521,6 @@ static void diagnoseImplicitSelfUseInClosure(const Expr *E,
15151521 Closures.push_back (CE);
15161522 }
15171523
1518-
15191524 // If we aren't in a closure, no diagnostics will be produced.
15201525 if (Closures.size () == 0 )
15211526 return { true , E };
@@ -3332,6 +3337,8 @@ static void checkStmtConditionTrailingClosure(ASTContext &ctx, const Expr *E) {
33323337 return false ;
33333338 }
33343339
3340+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
3341+
33353342 bool shouldWalkIntoTapExpression () override { return false ; }
33363343
33373344 std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -3482,6 +3489,8 @@ class ObjCSelectorWalker : public ASTWalker {
34823489 return false ;
34833490 }
34843491
3492+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
3493+
34853494 bool shouldWalkIntoTapExpression () override { return false ; }
34863495
34873496 std::pair<bool , Expr *> walkToExprPre (Expr *expr) override {
@@ -4222,6 +4231,8 @@ static void diagnoseUnintendedOptionalBehavior(const Expr *E,
42224231 return false ;
42234232 }
42244233
4234+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
4235+
42254236 bool shouldWalkIntoTapExpression () override { return false ; }
42264237
42274238 std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
@@ -4298,6 +4309,8 @@ static void diagnoseDeprecatedWritableKeyPath(const Expr *E,
42984309 return false ;
42994310 }
43004311
4312+ bool shouldWalkCaptureInitializerExpressions () override { return true ; }
4313+
43014314 bool shouldWalkIntoTapExpression () override { return false ; }
43024315
43034316 std::pair<bool , Expr *> walkToExprPre (Expr *E) override {
0 commit comments