On Tue, Oct 30, 2012 at 9:15 AM, Jacob Carlborg <[email protected]> wrote: > On 2012-10-30 04:22, BLM768 wrote: > >> If you make x some fancy wrapper type containing more fancy wrapper >> types with overloaded equality operators that return some sort of >> Expression class instead of a boolean, you might actually be able to get >> this to work with only D's current features. However, that would kind of >> destroy the hope of efficiency. :) > > > It can probably all be handled at compile time. The problem with this that > you cannot overload the following operators: &&, ||, != and probably some > other useful operators.
&& and || can be replaced by & and |, so there is a workaround. I feel much more limited by != and, even more problematic, !. Maybe unary - could be used in lieu of !.
