| ... | @@ -2731,6 +2731,7 @@ fn varDecl( | ... | @@ -2731,6 +2731,7 @@ fn varDecl( |
| 2731 | }; | 2731 | }; |
| 2732 | resolve_inferred_alloc = alloc; | 2732 | resolve_inferred_alloc = alloc; |
| 2733 | init_scope.rl_ptr = alloc; | 2733 | init_scope.rl_ptr = alloc; |
| | 2734 | init_scope.rl_ty_inst = .none; |
| 2734 | } | 2735 | } |
| 2735 | const init_result_loc: ResultLoc = .{ .block_ptr = &init_scope }; | 2736 | const init_result_loc: ResultLoc = .{ .block_ptr = &init_scope }; |
| 2736 | const init_inst = try reachableExpr(&init_scope, &init_scope.base, init_result_loc, var_decl.ast.init_node, node); | 2737 | const init_inst = try reachableExpr(&init_scope, &init_scope.base, init_result_loc, var_decl.ast.init_node, node); |
| ... | @@ -4860,7 +4861,7 @@ fn orelseCatchExpr( | ... | @@ -4860,7 +4861,7 @@ fn orelseCatchExpr( |
| 4860 | // block_scope unstacked now, can add new instructions to parent_gz | 4861 | // block_scope unstacked now, can add new instructions to parent_gz |
| 4861 | try parent_gz.instructions.append(astgen.gpa, block); | 4862 | try parent_gz.instructions.append(astgen.gpa, block); |
| 4862 | | 4863 | |
| 4863 | var then_scope = parent_gz.makeSubBlock(scope); | 4864 | var then_scope = block_scope.makeSubBlock(scope); |
| 4864 | defer then_scope.unstack(); | 4865 | defer then_scope.unstack(); |
| 4865 | | 4866 | |
| 4866 | // This could be a pointer or value depending on `unwrap_op`. | 4867 | // This could be a pointer or value depending on `unwrap_op`. |
| ... | @@ -4870,7 +4871,7 @@ fn orelseCatchExpr( | ... | @@ -4870,7 +4871,7 @@ fn orelseCatchExpr( |
| 4870 | else => try rvalue(&then_scope, block_scope.break_result_loc, unwrapped_payload, node), | 4871 | else => try rvalue(&then_scope, block_scope.break_result_loc, unwrapped_payload, node), |
| 4871 | }; | 4872 | }; |
| 4872 | | 4873 | |
| 4873 | var else_scope = parent_gz.makeSubBlock(scope); | 4874 | var else_scope = block_scope.makeSubBlock(scope); |
| 4874 | defer else_scope.unstack(); | 4875 | defer else_scope.unstack(); |
| 4875 | | 4876 | |
| 4876 | var err_val_scope: Scope.LocalVal = undefined; | 4877 | var err_val_scope: Scope.LocalVal = undefined; |
| ... | @@ -9850,10 +9851,12 @@ const GenZir = struct { | ... | @@ -9850,10 +9851,12 @@ const GenZir = struct { |
| 9850 | }, | 9851 | }, |
| 9851 | | 9852 | |
| 9852 | .discard, .none, .ptr, .ref => { | 9853 | .discard, .none, .ptr, .ref => { |
| | 9854 | gz.rl_ty_inst = .none; |
| 9853 | gz.break_result_loc = parent_rl; | 9855 | gz.break_result_loc = parent_rl; |
| 9854 | }, | 9856 | }, |
| 9855 | | 9857 | |
| 9856 | .inferred_ptr => |ptr| { | 9858 | .inferred_ptr => |ptr| { |
| | 9859 | gz.rl_ty_inst = .none; |
| 9857 | gz.rl_ptr = ptr; | 9860 | gz.rl_ptr = ptr; |
| 9858 | gz.break_result_loc = .{ .block_ptr = gz }; | 9861 | gz.break_result_loc = .{ .block_ptr = gz }; |
| 9859 | }, | 9862 | }, |