On Thursday, 20 September 2018 at 03:01:02 UTC, Shachar Shemesh wrote:
On 19/09/18 22:53, Walter Bright wrote:
On 9/19/2018 10:13 AM, Shachar Shemesh wrote:
   assert(condition, string); // string is useless without actual info about what went wrong.    assert(condition, format(string, arg, arg)); // No good - format is not @nogc

Another method:

   debug
     assert(condition, format(string, arg, arg));
   else
     assert(condition, string);

because @nogc is ignored in debug conditionals, just like purity is ignored in debug conditionals.

That doesn't cut it on so many levels...

First of all, no four lines solution that requires copy/paste (or worse, retyping) as a standard will actually get employed by programmers. The disincentive is too high.

This pattern is incredibly easy to wrap and reuse as needed. I would've done already if only I'd known @nogc was ignored as well as pure.

Reply via email to