[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:15:21 UTC 2021


https://issues.dlang.org/show_bug.cgi?id=21692

kinke <kinke at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kinke at gmx.net

--- Comment #1 from kinke <kinke at gmx.net> ---
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.

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).

--


More information about the Digitalmars-d-bugs mailing list