usable @nogc Exceptions with Mir Runtime

9il ilyayaroshenko at gmail.com
Fri Nov 2 05:21:07 UTC 2018


On Thursday, 1 November 2018 at 10:17:25 UTC, bauss wrote:
> On Wednesday, 31 October 2018 at 13:56:56 UTC, 9il wrote:
>> ~ is used for string concatenation in D including string 
>> compile time constant concatenation.   It is better not to 
>> override it because both << and ~ can be used in the same 
>> expression.
>
> I see what your argument is now for it, BUT I would still have 
> left it out because it's not idiomatic D and an alternative 
> would have been better if you absolutely had to rely on ~ being 
> used within the expression to combine both.
>
> Ex.
>
> try throw new MirException(stringBuf().append("Hi D", 2, "!", 
> getData);
>
> Would have been a much better approach similar to how 
> write/writeln etc. work from std.stdio.

Well, added at v0.0.8 [1].

Mir Runtime formatting and exceptions are CTFE-able if a msg fits 
into a local buffer and support user-defined types formatting. 
Note, that toString function must be scope const.

mir.parse was added in v0.0.7. Currently, only integer types are 
supported.

1. https://github.com/libmir/mir-runtime/pull/2


More information about the Digitalmars-d-announce mailing list