Which operators cannot be overloaded and why not?

user1234 user1234 at 12.de
Mon Sep 13 15:29:05 UTC 2021


On Monday, 13 September 2021 at 14:42:42 UTC, jfondren wrote:
> On Monday, 13 September 2021 at 14:33:03 UTC, user1234 wrote:
>> - condition al expression ` cond ? exp : exp `
>
> And many other boolean operators, unary !, binary && and ||

They are all indirectly supported if `opCast` is overloaded:

```d
unittest
{
     struct S
     {
         bool opCast(T = bool)(){return true;}
     }
     S s;
     assert(s && s);
}
```

so this is a bit like the postincr case.




More information about the Digitalmars-d-learn mailing list