DIP80: phobos additions
Tofu Ninja via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jun 17 02:27:59 PDT 2015
On Friday, 12 June 2015 at 01:55:15 UTC, Wyatt wrote:
> From the outset, my thought was to strictly define the set of
> (eight or so?) symbols for this. If memory serves, it was
> right around the time Walter's rejected wholesale user-defined
> operators because of exactly the problem you mention.
> (Compounded by Unicode-- what the hell is "2 🐵 8" supposed to
> be!?) I strongly suspect you don't need many simultaneous
> extra operators on a type to cover most cases.
>
> -Wyatt
I actually thought about it more, and D does have a bunch of
binary operators that no ones uses. You can make all sorts of
weird operators like +*, *~, +++, ---, *--, /++, ~~, ~-, -~,
>>>--, &++, ^^+, in++, |-, %~, ect...
void main(string[] args){
test a;
test b;
a +* b;
}
struct test{
private struct testAlpha{
test payload;
}
testAlpha opUnary(string s : "*")(){
return testAlpha(this);
}
void opBinary(string op : "+")(test rhs){
writeln("+");
}
void opBinary(string op : "+")(testAlpha rhs){
writeln("+*");
}
}
More information about the Digitalmars-d
mailing list