On Wednesday, 23 May 2018 at 15:43:31 UTC, Steven Schveighoffer
wrote:
On 5/23/18 9:12 AM, Steven Schveighoffer wrote:
On 5/22/18 9:59 PM, sarn wrote:
(Unfortunately destroy() currently isn't zero-overhead for
plain old data structs because it's based on RTTI, but at
least it works.)
Hm.. that should be fixed. I don't see why we can't just do =
T.init, we should at least be optimizing to this for small
enough structs.
Coincidentally, this JUST changed due to a different reason:
https://github.com/dlang/druntime/pull/2178
Please file an enhancement request.
I still think it could be better, so I added a further issue:
https://issues.dlang.org/show_bug.cgi?id=18899
-Steve
The destroy function for class/structs badly need an overhaul.
Even more so for class, as (IMO) it should be responsibility of
the class designer when it comes to deinitializing (The exception
being that creating the class exclusively for the GC to use of
course), as finalize function which destroy calls is external, in
which information such as attributes is lost