From 17259a289ff52ce6028ac78b107d0d697a9cf478 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 28 Sep 2016 16:27:08 +0800 Subject: macro_rules - Defensive code and fix bug causing empty captures to no report empty --- src/macro_rules/eval.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/macro_rules/eval.cpp b/src/macro_rules/eval.cpp index f572bb15..109e2c43 100644 --- a/src/macro_rules/eval.cpp +++ b/src/macro_rules/eval.cpp @@ -166,6 +166,7 @@ void Macro_InvokeRules_CountSubstUses(ParameterMappings& bound_tts, const ::std: void ParameterMappings::insert(unsigned int name_index, const ::std::vector& iterations, InterpolatedFragment data) { + DEBUG("index="<& iter return 0; } auto& e = m_mappings.at(name_idx); + if( e.top_layer.is_Vals() && e.top_layer.as_Vals().size() == 0 ) { + DEBUG("- Not populated"); + return 0; + } auto* layer = &e.top_layer; for(const auto iter : iterations) { -- cgit v1.2.3