This commit is contained in:
Marek Maskarinec 2025-11-23 14:28:19 +09:00 committed by GitHub
commit 25ed954440
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 2 deletions

View file

@ -810,6 +810,7 @@ pub const SimpleComptimeReason = enum(u32) {
// Reasons other than `.type` are just more specific messages.
type,
array_sentinel,
merge_error_set,
pointer_sentinel,
slice_sentinel,
array_length,
@ -888,6 +889,7 @@ pub const SimpleComptimeReason = enum(u32) {
.clobber => "clobber must be comptime-known",
.type => "types must be comptime-known",
.merge_error_set => "operand to error set merge (||) must be an error set",
.array_sentinel => "array sentinel value must be comptime-known",
.pointer_sentinel => "pointer sentinel value must be comptime-known",
.slice_sentinel => "slice sentinel value must be comptime-known",

View file

@ -793,8 +793,8 @@ fn expr(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node.Index) InnerE
else => unreachable,
};
const lhs_node, const rhs_node = tree.nodeData(node).node_and_node;
const lhs = try reachableTypeExpr(gz, scope, lhs_node, node);
const rhs = try reachableTypeExpr(gz, scope, rhs_node, node);
const lhs = try reachableExprComptime(gz, scope, coerced_type_ri, lhs_node, node, .merge_error_set);
const rhs = try reachableExprComptime(gz, scope, coerced_type_ri, rhs_node, node, .merge_error_set);
const result = try gz.addPlNode(inst_tag, node, Zir.Inst.Bin{ .lhs = lhs, .rhs = rhs });
return rvalue(gz, ri, result, node);
},