fix(frontends/lean): bug that only happens in newer versions of g++

See #1098

I only managed to reproduce the bug after I installed Ubuntu 16.04
This commit is contained in:
Leonardo de Moura 2016-08-01 21:55:41 -07:00
parent a1854df9fa
commit c3ce9d0a2d
2 changed files with 4 additions and 2 deletions

View file

@ -1378,7 +1378,8 @@ void elaborator::invoke_tactics(checkpoint const & C) {
if (to_process.empty()) return;
unassigned_uvars_to_params();
scope_elaborate_fn scope(nested_elaborate);
elaborate_fn fn(nested_elaborate);
scope_elaborate_fn scope(fn);
unsigned i = to_process.size();
while (i > 0) {

View file

@ -1683,7 +1683,8 @@ static tactic_state to_tactic_state(environment const & env, options const & opt
}
optional<tactic_state> old_elaborator::execute_tactic(expr const & tactic, tactic_state const & s, expr const & mvar) {
scope_elaborate_fn scope(nested_elaborate);
elaborate_fn fn(nested_elaborate);
scope_elaborate_fn scope(fn);
name tactic_name("_tactic");
expr tactic_type = ::lean::mk_app(mk_constant("tactic", {mk_level_one()}), mk_constant("unit"));