| ... | ... | @@ -34538,10 +34538,13 @@ fn compareScalar( |
| 34538 | 34538 | rhs: Value, |
| 34539 | 34539 | ty: Type, |
| 34540 | 34540 | ) CompileError!bool { |
| 34541 | const mod = sema.mod; |
| 34542 | const coerced_lhs = try mod.getCoerced(lhs, ty); |
| 34543 | const coerced_rhs = try mod.getCoerced(rhs, ty); |
| 34541 | 34544 | switch (op) { |
| 34542 | | .eq => return sema.valuesEqual(lhs, rhs, ty), |
| 34543 | | .neq => return !(try sema.valuesEqual(lhs, rhs, ty)), |
| 34544 | | else => return Value.compareHeteroAdvanced(lhs, op, rhs, sema.mod, sema), |
| 34545 | .eq => return sema.valuesEqual(coerced_lhs, coerced_rhs, ty), |
| 34546 | .neq => return !(try sema.valuesEqual(coerced_lhs, coerced_rhs, ty)), |
| 34547 | else => return Value.compareHeteroAdvanced(coerced_lhs, op, coerced_rhs, mod, sema), |
| 34545 | 34548 | } |
| 34546 | 34549 | } |
| 34547 | 34550 | |