diff --git a/artiq/compiler/transforms/cast_monomorphizer.py b/artiq/compiler/transforms/cast_monomorphizer.py index c12eb9663..bed905c5a 100644 --- a/artiq/compiler/transforms/cast_monomorphizer.py +++ b/artiq/compiler/transforms/cast_monomorphizer.py @@ -13,9 +13,10 @@ class CastMonomorphizer(algorithm.Visitor): def visit_CallT(self, node): self.generic_visit(node) - if (types.is_builtin(node.func.type, "int") or - types.is_builtin(node.func.type, "int32") or - types.is_builtin(node.func.type, "int64")): + if ((types.is_builtin(node.func.type, "int") or + types.is_builtin(node.func.type, "int32") or + types.is_builtin(node.func.type, "int64")) and + types.is_var(node.type)): typ = node.type.find() if (not types.is_var(typ["width"]) and builtins.is_int(node.args[0].type) and