From 3d3d0a6ddb66f9538e1230681ea48c03931dd418 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sun, 6 Nov 2016 14:06:52 +0800 Subject: HIR Consteval - Fix edge case where array inner wasn't expanded correctly --- src/hir_conv/constant_evaluation.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/hir_conv/constant_evaluation.cpp b/src/hir_conv/constant_evaluation.cpp index 463b39ce..311c2f39 100644 --- a/src/hir_conv/constant_evaluation.cpp +++ b/src/hir_conv/constant_evaluation.cpp @@ -1144,8 +1144,9 @@ namespace { void visit_type(::HIR::TypeRef& ty) override { + ::HIR::Visitor::visit_type(ty); + TU_IFLET(::HIR::TypeRef::Data, ty.m_data, Array, e, - ::HIR::Visitor::visit_type(*e.inner); if( e.size_val == ~0u ) { assert(e.size); @@ -1158,9 +1159,6 @@ namespace { } DEBUG("Array " << ty << " - size = " << e.size_val); ) - else { - ::HIR::Visitor::visit_type(ty); - } } void visit_constant(::HIR::ItemPath p, ::HIR::Constant& item) override { -- cgit v1.2.3