From 2eeede982664174f9bc996a0219ce92373fcac4d Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Mon, 29 Jun 2026 11:19:26 +0200 Subject: [PATCH] fix(gen): prevent empty loop for column asserts --- midas/generator/generator.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/midas/generator/generator.py b/midas/generator/generator.py index f5d89d5..6089c57 100644 --- a/midas/generator/generator.py +++ b/midas/generator/generator.py @@ -440,7 +440,11 @@ class Generator(p.Stmt.Visitor[ast.stmt], p.Expr.Visitor[ast.expr]): ), ), ] - asserts.append(self._make_column_inner_assert(src_location, expr, type)) + inner_assert: Optional[ast.stmt] = self._make_column_inner_assert( + src_location, expr, type + ) + if inner_assert is not None: + asserts.append(inner_assert) return asserts case ( @@ -592,12 +596,15 @@ class Generator(p.Stmt.Visitor[ast.stmt], p.Expr.Visitor[ast.expr]): def _make_column_inner_assert( self, src_location: Location, column: ast.expr, type: ColumnType - ) -> ast.stmt: + ) -> Optional[ast.stmt]: # TODO: improve message, maybe chain contexts col: ast.expr = ast.Name(id="col") + body: list[ast.stmt] = self._make_cast_asserts(src_location, col, type.type) + if len(body) == 0: + return None return ast.For( target=col, iter=column, - body=self._make_cast_asserts(src_location, col, type.type), + body=body, orelse=[], )