[Issue 21692] Non-mutable extern(D) scope class instances cannot be created.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Mar 8 23:43:29 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=21692
--- Comment #2 from thomas.bockman at gmail.com ---
(In reply to kinke from comment #1)
> This seems caused by `scope` allocations for (D) classes getting an implicit
> `delete stackConstD`, while C++ classes don't. Which is probably a bug in
> its own right.
Good catch! I filed a separate bug for that:
https://issues.dlang.org/show_bug.cgi?id=21693
> The `delete` expression is deprecated; it resets the pointer to null, that's
> why it cannot be const. An updated lowering could use `destroy()` instead
> (it's only about calling the dtor/finalizer AFAICT), for C++ classes too,
> which should make it work with const as well (without dtor or with a const
> dtor).
Yes, that is how it should work.
--
More information about the Digitalmars-d-bugs
mailing list