assert(false) and GC
russhy
russhy at gmail.com
Fri Jul 9 23:12:37 UTC 2021
On Friday, 9 July 2021 at 22:53:10 UTC, Ali Çehreli wrote:
> On 7/8/21 11:11 AM, DLearner wrote:
>> Hi
>>
>> Please confirm that:
>> `
>> assert(false, __FUNCTION__ ~ "This is an error message");
>> `
>>
>> Will _not_ trigger GC issues, as the text is entirely known at
>> compile time.
>>
>> Best regards
>
> One way of forcing compile-time evaluation in D is to define an
> enum (which means "manifest constant" in that use). I used
> @nogc to prove that there is no GC allocation as well:
>
> @nogc
> void main() {
> enum msg = __FUNCTION__ ~ "This is an error message";
> assert(false, msg);
> }
>
> Ali
this is very bad, assert are good because they are one liner,
making it 2 line to avoid GC is just poor design, compiler should
be smarter
More information about the Digitalmars-d-learn
mailing list