From 6e08aef3ccb014356b58445c3669e6b0bf0b05ae Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Mon, 21 Nov 2016 22:42:53 -0600 Subject: [PATCH] Fix type inference for multiple-return assignments where some do and some don't return a known type --- loopy/type_inference.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/loopy/type_inference.py b/loopy/type_inference.py index 16be9605c..a31f011a0 100644 --- a/loopy/type_inference.py +++ b/loopy/type_inference.py @@ -409,14 +409,17 @@ def _infer_var_type(kernel, var_name, type_inf_mapper, subst_expander): result = [] for return_dtype_set in return_dtype_set: result_i = None + found = False for assignee, comp_dtype_set in zip( writer_insn.assignee_var_names(), return_dtype_set): if assignee == var_name: + found = True result_i = comp_dtype_set break - assert result is not None - result.append(result_i) + assert found + if result_i is not None: + result.append(result_i) debug(" result: %s" % result) -- GitLab