@@ -396,8 +396,8 @@ fn test_expand_single_or_expr_defaults_to_result() {
396396 sel := if_expr.cond as ast.SelectorExpr
397397 assert sel.rhs.name == 'is_error' , 'expected is_error selector for Result, got ${sel .rhs .name }'
398398
399- // base_type is unknown (empty env), so is_void_result is true => returns empty_expr
400- assert result is ast.EmptyExpr , 'expected EmptyExpr for void result (unknown base type) '
399+ // base_type is unknown (empty env), defaults to 'int' => not void => returns data access
400+ assert result is ast.SelectorExpr , 'expected SelectorExpr (.data access) for default base type, got ${ result . type_name ()} '
401401}
402402
403403fn test_expand_single_or_expr_with_return_in_or_block () {
@@ -423,13 +423,12 @@ fn test_expand_single_or_expr_with_return_in_or_block() {
423423 // Should still generate prefix statements
424424 assert prefix_stmts.len == 2 , 'expected 2 prefix stmts, got ${prefix_stmts .len }'
425425
426- // The if-block body should contain err assignment + return statement
426+ // The if-block body should contain only the return statement (err not used, so no err assign)
427427 if_stmt := (prefix_stmts[1 ] as ast.ExprStmt ).expr as ast.IfExpr
428- // err := _or_t1.err, then the return
429- assert if_stmt.stmts.len == 2 , 'expected 2 stmts in if body (err assign + return), got ${if_stmt .stmts .len }'
428+ assert if_stmt.stmts.len == 1 , 'expected 1 stmt in if body (return only, err not used), got ${if_stmt .stmts .len }'
430429
431- // base_type is unknown => void result => returns empty_expr
432- assert result is ast.EmptyExpr , 'expected EmptyExpr for void result '
430+ // base_type is unknown => defaults to 'int' => not void => returns data access
431+ assert result is ast.SelectorExpr , 'expected SelectorExpr (.data access) for default base type '
433432}
434433
435434fn test_transform_expr_or_expr_wraps_in_unsafe () {
0 commit comments