fix multi return in lock
parent
3e3b2e25db
commit
0a9410160e
|
|
@ -3902,6 +3902,7 @@ fn (mut g Gen) return_stmt(node ast.Return) {
|
||||||
tmpvar := g.new_tmp_var()
|
tmpvar := g.new_tmp_var()
|
||||||
ret_typ := g.typ(g.unwrap_generic(g.fn_decl.return_type))
|
ret_typ := g.typ(g.unwrap_generic(g.fn_decl.return_type))
|
||||||
mut use_tmp_var := g.defer_stmts.len > 0 || g.defer_profile_code.len > 0
|
mut use_tmp_var := g.defer_stmts.len > 0 || g.defer_profile_code.len > 0
|
||||||
|
|| g.cur_lock.lockeds.len > 0
|
||||||
// handle promoting none/error/function returning 'Option'
|
// handle promoting none/error/function returning 'Option'
|
||||||
if fn_return_is_optional {
|
if fn_return_is_optional {
|
||||||
optional_none := node.exprs[0] is ast.None
|
optional_none := node.exprs[0] is ast.None
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue