-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Open
Labels
breaking change ⚠️language design
Any changes to the language, e.g. new featuresAny changes to the language, e.g. new featuresmedium effortDefault level of effortDefault level of effortmedium impactDefault level of impactDefault level of impactneeds designThe proposal is too vague to be implemented right awayThe proposal is too vague to be implemented right away

Description
contract Test {}
contract Derived is Test {}
function f(Test a, Test b) {
a < b;
a == b;
a > b;
a <= b;
a >= b;
}
function g(Derived a, Test b) {
a < b;
a == b;
a > b;
a <= b;
a >= b;
}
Currently, the above code compiles. I think the comparison operators does not belong with the ContractType. Even the equality operator is questionable. Disallowing all these operators is especially important to be consistent with how operators are disallowed by default in user defined types: #11531.
Metadata
Metadata
Assignees
Labels
breaking change ⚠️language design
Any changes to the language, e.g. new featuresAny changes to the language, e.g. new featuresmedium effortDefault level of effortDefault level of effortmedium impactDefault level of impactDefault level of impactneeds designThe proposal is too vague to be implemented right awayThe proposal is too vague to be implemented right away

Type
Projects
Status
Deprecate Only