On Wednesday, 7 February 2018 at 01:06:42 UTC, Luís Marques wrote:
On Wednesday, 7 February 2018 at 00:24:26 UTC, H. S. Teoh wrote:
I really like your .nx idea! It neatly sidesteps the nonsensical mandatory casts and on top of that documents intent (the .nx being a telltale sign of truncation -- much better than arbitrary implicit rules).
[...]
Yeah, it's just a thin wrapper. I implemented just enough to cover my use cases but just in case it's useful to you or someone else, here goes my implementation...

Very cool! Much better than implementing new types.
Just

    auto opBinary(string op, U)(NX!U rhs)
    {
        static if(rhs.value.sizeof > value.sizeof)
            return mixin("rhs " ~ op ~  " value");

That won't do anything good for operators that are NOT commutative
(like -, ^^, <<, >>, %, /, ...)
Seems you don't use other things than +, *, &, | and ^, do you?

Reply via email to