[Issue 17573] New: Make opCmp more flexible
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Thu Jun 29 12:24:53 PDT 2017
https://issues.dlang.org/show_bug.cgi?id=17573
Issue ID: 17573
Summary: Make opCmp more flexible
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: halager at gmail.com
The way custom comparisons are currently implemented force you to always return
an integer and doesn't tell you what operation you are doing.
An example of how it can bite is that mir can't do elementwise comparisons
similar to how it does addition or multiplication since it has to return an int
for comparisons.
So a + a == [2, 2, 2] and a * a == [1, 1, 1] but you can't express a < a ==
[false, false, false].
I get the logic of only making the user create a single comparison function but
maybe a possible fix would be to check if there is an opBinary for the relevant
comparison operator before doing the usual opCmp logic.
--
More information about the Digitalmars-d-bugs
mailing list