fix(library/tactic/expr_to_tactic): argument evaluation order is not part of the standard

This commit is contained in:
Leonardo de Moura 2014-10-20 15:16:38 -07:00
parent 33c4715f4c
commit 5cba7244ce

View file

@ -246,8 +246,9 @@ void register_bin_tac(name const & n, std::function<tactic(tactic const &, tacti
get_app_args(e, args); get_app_args(e, args);
if (args.size() != 2) if (args.size() != 2)
throw expr_to_tactic_exception(e, "invalid binary tactic, it must have two arguments"); throw expr_to_tactic_exception(e, "invalid binary tactic, it must have two arguments");
return f(expr_to_tactic(tc, fn, args[0], p), tactic t1 = expr_to_tactic(tc, fn, args[0], p);
expr_to_tactic(tc, fn, args[1], p)); tactic t2 = expr_to_tactic(tc, fn, args[1], p);
return f(t1, t2);
}); });
} }