betterC and struct destructors
Vadim Lopatin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Sep 11 05:42:29 PDT 2017
On Monday, 11 September 2017 at 10:18:41 UTC, Oleg B wrote:
> Hello. I try using destructor in betterC code and it's work if
> outer function doesn't return value (void). Code in `scope
> (exit)` works as same (if func is void all is ok).
>
> In documentation I found
> https://dlang.org/spec/betterc.html#consequences 12 paragraph:
> Struct deconstructors.
>
> Why struct destructor need Druntime? Compiler must simply past
> call of destructor before exit from scope or return statement.
> Where is Druntime here (dynamic allocations, pointers to scopes
> and other)?
>
> I think struct destructor must work in betterC code. Otherwise
> it will be one step to be likeC, not betterC.
+1 I don't see the reason.
If struct destructors were working correctly in betterC mode, it
would be possible to use RAII.
Missing RAII is a main reason of WTF messages when people see
list of betterC limitations.
More information about the Digitalmars-d-learn
mailing list