fix multi return in lock

pull/14014/head
crthpl 2022-04-11 14:52:45 -07:00
parent 3e3b2e25db
commit 0a9410160e
No known key found for this signature in database
GPG Key ID: B8BBDB4002CB6F74
1 changed files with 1 additions and 0 deletions

View File

@ -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