@@ -471,7 +471,7 @@ fn (mut g Gen) gen_multi_return_assign(node &ast.AssignStmt, return_type ast.Typ
471
471
// TODO Handle in if_expr
472
472
is_opt := return_type.has_flag (.optional)
473
473
mr_var_name := 'mr_$node.pos.pos '
474
- mr_styp := g.typ (return_type)
474
+ mr_styp := g.typ (return_type. clear_flag (.optional) )
475
475
g.write ('$mr_styp $mr_var_name = ' )
476
476
g.expr (node.right[0 ])
477
477
g.writeln (';' )
@@ -505,9 +505,9 @@ fn (mut g Gen) gen_multi_return_assign(node &ast.AssignStmt, return_type ast.Typ
505
505
if is_opt {
506
506
mr_base_styp := g.base_type (return_type)
507
507
if is_auto_heap {
508
- g.writeln ('HEAP${noscan} ($mr_base_styp , *( $mr_base_styp *) $ {mr_var_name}.data) .arg$i ) });' )
508
+ g.writeln ('HEAP${noscan} ($mr_base_styp , $ {mr_var_name} .arg$i ) });' )
509
509
} else {
510
- g.writeln ('(*( $mr_base_styp *) $ {mr_var_name}.data) .arg$i });' )
510
+ g.writeln ('$ {mr_var_name} .arg$i });' )
511
511
}
512
512
} else {
513
513
if is_auto_heap {
@@ -520,9 +520,9 @@ fn (mut g Gen) gen_multi_return_assign(node &ast.AssignStmt, return_type ast.Typ
520
520
if is_opt {
521
521
mr_base_styp := g.base_type (return_type)
522
522
if is_auto_heap {
523
- g.writeln (' = HEAP${noscan} ($mr_base_styp , *( $mr_base_styp *) $ {mr_var_name}.data) .arg$i );' )
523
+ g.writeln (' = HEAP${noscan} ($mr_base_styp , $ {mr_var_name} .arg$i );' )
524
524
} else {
525
- g.writeln (' = (*( $mr_base_styp *) $ {mr_var_name}.data) .arg$i ;' )
525
+ g.writeln (' = $ {mr_var_name} .arg$i ;' )
526
526
}
527
527
} else {
528
528
if is_auto_heap {
0 commit comments