| ... | @@ -6786,13 +6786,14 @@ fn typeOf( | ... | @@ -6786,13 +6786,14 @@ fn typeOf( |
| 6786 | return gz.astgen.failNode(node, "expected at least 1 argument, found 0", .{}); | 6786 | return gz.astgen.failNode(node, "expected at least 1 argument, found 0", .{}); |
| 6787 | } | 6787 | } |
| 6788 | if (params.len == 1) { | 6788 | if (params.len == 1) { |
| 6789 | const result = try gz.addUnNode(.typeof, try expr(gz, scope, .none, params[0]), node); | 6789 | const expr_result = try reachableExpr(gz, scope, .none, params[0], node); |
| | 6790 | const result = try gz.addUnNode(.typeof, expr_result, node); |
| 6790 | return rvalue(gz, rl, result, node); | 6791 | return rvalue(gz, rl, result, node); |
| 6791 | } | 6792 | } |
| 6792 | const arena = gz.astgen.arena; | 6793 | const arena = gz.astgen.arena; |
| 6793 | var items = try arena.alloc(Zir.Inst.Ref, params.len); | 6794 | var items = try arena.alloc(Zir.Inst.Ref, params.len); |
| 6794 | for (params) |param, param_i| { | 6795 | for (params) |param, param_i| { |
| 6795 | items[param_i] = try expr(gz, scope, .none, param); | 6796 | items[param_i] = try reachableExpr(gz, scope, .none, param, node); |
| 6796 | } | 6797 | } |
| 6797 | | 6798 | |
| 6798 | const result = try gz.addExtendedMultiOp(.typeof_peer, node, items); | 6799 | const result = try gz.addExtendedMultiOp(.typeof_peer, node, items); |