about summary refs log blame commit diff stats
path: root/archive/1.vm/090scenario_filesystem_test.mu
blob: b487bfe08bfbdcad76a9b035c6bc488d60c1ad3f (plain) (tree)
span> default: { if (!types_coercible(container, ingredients.at(ingredient_index))) { raise << maybe(caller.name) << "incorrect type of ingredient " << ingredient_index << " in '" << inst.original_string << "'\n" << end(); raise << " (expected '" << debug_string(container) << "')\n" << end(); raise << " (got '" << debug_string(ingredients.at(ingredient_index)) << "')\n" << end(); return; } ++ingredient_index; // ++state.data.top().container_element_index; // unnecessary, but wouldn't do any harm do { state.data.pop(); if (state.data.empty()) { if (ingredient_index < SIZE(ingredients)) raise << maybe(caller.name) << "too many ingredients in '" << inst.original_string << "'\n" << end(); return; } ++state.data.top().container_element_index; } while (state.data.top().container_element_index >= SIZE(get(Type, root_type(state.data.top().container.type)->value).elements)); } } } // never gets here assert(false); } :(scenario merge_check_product) % Hide_errors = true; def main [ 1:num <- merge 3 ] +error: main: 'merge' should yield a container in '1:num <- merge 3' :(before "End Includes") #include <stack> using std::stack;