From fd199ccd7cc674d532d042d5f8224e48a9e16ebc Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Wed, 9 Nov 2022 08:58:30 -0600 Subject: [PATCH] Use deferred evaluation of type annotations in optimize_mapper --- pymbolic/mapper/optimize.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pymbolic/mapper/optimize.py b/pymbolic/mapper/optimize.py index 778da00..e32f084 100644 --- a/pymbolic/mapper/optimize.py +++ b/pymbolic/mapper/optimize.py @@ -325,7 +325,11 @@ def optimize_mapper( # }}} - code_str = ast.unparse(cls_ast) + code_str = ( + # Incoming code *may* rely on deferred evaluation of annotations. + # Since we're not checking whether it does, turn it on just in case. + "from __future__ import annotations\n" + + ast.unparse(cls_ast)) if print_modified_code_file: print(code_str, file=print_modified_code_file) -- GitLab