From da84302ab455de0eacb9a3fad449ef77ad9db604 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Wed, 6 Nov 2024 09:57:57 -0600 Subject: [PATCH] Un-type symbolic.flatten This restores compatibility with pymbolic 2022.2 x-ref: https://github.com/firedrakeproject/loopy/issues/27 --- loopy/symbolic.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/loopy/symbolic.py b/loopy/symbolic.py index 86e854bd2..f0e0333ec 100644 --- a/loopy/symbolic.py +++ b/loopy/symbolic.py @@ -37,8 +37,6 @@ Mapping, Sequence, Tuple, - TypeVar, - cast, ) import immutables @@ -49,7 +47,6 @@ import pymbolic.primitives as p import pytools.lex from islpy import dim_type -from pymbolic import ArithmeticExpressionT from pymbolic.mapper import ( CachedCombineMapper as CombineMapperBase, CachedIdentityMapper as IdentityMapperBase, @@ -211,14 +208,8 @@ class FlattenMapper(FlattenMapperBase, IdentityMapperMixin): pass -ArithmeticOrExpressionT = TypeVar( - "ArithmeticOrExpressionT", - ArithmeticExpressionT, - ExpressionT) - - -def flatten(expr: ArithmeticOrExpressionT) -> ArithmeticOrExpressionT: - return cast(ArithmeticOrExpressionT, FlattenMapper()(expr)) +def flatten(expr): + return FlattenMapper()(expr) class IdentityMapper(IdentityMapperBase, IdentityMapperMixin):