Fix #1021 - Optional or branch doesn't define err

This commit is contained in:
Nick Treleaven 2019-07-06 13:52:50 +01:00 committed by Alexander Medvednikov
parent 8a2d25247f
commit af19aa5096
2 changed files with 17 additions and 0 deletions

View file

@ -1142,6 +1142,13 @@ fn (p mut Parser) var_decl() {
p.next()
p.check(LCBR)
p.genln('if (!$tmp .ok) {')
p.register_var(Var {
name: 'err'
typ: 'string'
is_mut: false
is_used: true
})
p.genln('string err = $tmp . error;')
p.statements()
p.genln('$typ $name = *($typ*) $tmp . data;')
if !p.returns && p.prev_tok2 != CONTINUE && p.prev_tok2 != BREAK {