@nogc

Kapps via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 10 20:18:01 PDT 2014


On Friday, 11 July 2014 at 02:32:00 UTC, 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?

More generally, I'm somewhat surprised that @nogc does not still 
allow allocating Errors (including with assert), as who cares if 
your program may slightly pause when it's about to crash in a 
theoretically unrecoverable way.


More information about the Digitalmars-d mailing list