(self, op: ComparisonOp)
| 450 | self.fail(op, f"Operand types have incompatible signs: {left}, {right}") |
| 451 | |
| 452 | def visit_comparison_op(self, op: ComparisonOp) -> None: |
| 453 | self.check_compatibility(op, op.lhs.type, op.rhs.type) |
| 454 | self.expect_non_float(op, op.lhs) |
| 455 | self.expect_non_float(op, op.rhs) |
| 456 | left = op.lhs.type |
| 457 | right = op.rhs.type |
| 458 | if ( |
| 459 | isinstance(left, RPrimitive) |
| 460 | and isinstance(right, RPrimitive) |
| 461 | and left.is_signed != right.is_signed |
| 462 | ): |
| 463 | self.fail(op, f"Operand types have incompatible signs: {left}, {right}") |
| 464 | |
| 465 | def visit_float_op(self, op: FloatOp) -> None: |
| 466 | self.expect_float(op, op.lhs) |
nothing calls this directly
no test coverage detected