Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 0b5e780a2f1cefd9000944925965a3be14bc56a5)
+++ src/InitTweak/InitTweak.cc	(revision 3c714ad4146140c41cc876465879a4e6cb179592)
@@ -107,5 +107,5 @@
 		};
 
-		struct InitDepthChecker_new : public ast::WithGuards {
+		struct InitDepthChecker_new {
 			bool result = true;
 			const ast::Type * type;
@@ -119,8 +119,10 @@
 				maxDepth++;
 			}
-			void previsit( ListInit * ) {
+			void previsit( ast::ListInit const * ) {
 				curDepth++;
-				GuardAction( [this]() { curDepth--; } );
 				if ( curDepth > maxDepth ) result = false;
+			}
+			void postvisit( ast::ListInit const * ) {
+				curDepth--;
 			}
 		};
