@nogc

Manu via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 10 22:41:40 PDT 2014


On 11 July 2014 13:45, Walter Bright via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On 7/10/2014 7:31 PM, Manu via Digitalmars-d wrote:
>>
>> So, we allow assert() in nothrow functions, the argument is that
>> assert is non-recoverable, so it's distinct from user exceptions.
>>
>> I have this in my 'nothrow @nogc' function:
>>    assert(false, "Message " ~ details);
>>
>> It complains "Error: cannot use operator ~ in @nogc function"
>>
>> I think it should be allowed to invoke the GC for formatting error
>> messages inside of assert statements, just the same as assert() is
>> allowed inside of nothrow functions.
>>
>> Thoughts?
>>
>
> I've thought of allowing "throw new ...", and yours would be in addition to
> that, in @nogc functions, but was waiting to see how this would play out a
> bit first.

I should add, I'm not sure I see that my case should be 'in addition'.
I think my case should precede since I don't think it's objectionable,
but I'm really unsure I would get on board with 'throw new ...' in
@nogc functions. It seems to defeat the purpose to me...?
Why would you want to allow throwing 'new' exceptions?


More information about the Digitalmars-d mailing list