From 890902a95960c0cbfcde545c6415db512b438073 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Fri, 2 Jun 2017 12:43:22 -0400 Subject: [PATCH] Improve error message on lookup access to aggregate type --- loopy/type_inference.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/loopy/type_inference.py b/loopy/type_inference.py index b8b0cbcbf..4df619fea 100644 --- a/loopy/type_inference.py +++ b/loopy/type_inference.py @@ -332,8 +332,13 @@ class TypeInferenceMapper(CombineMapper): if not agg_result: return agg_result - field = agg_result[0].numpy_dtype.fields[expr.name] - dtype = field[0] + fields = agg_result[0].numpy_dtype.fields + if fields is None: + raise LoopyError("cannot look up attribute '%s' in " + "non-aggregate expression '%s'" + % (expr.aggregate, expr.name)) + + dtype = fields[0] return [NumpyType(dtype)] def map_comparison(self, expr): -- GitLab