On Thursday, 21 May 2015 at 09:06:59 UTC, Timothee Cour wrote:
Can I create an instance of A without calling a constructor?
(see below)
Use case: for generic deserialiaztion, when the deserialization
library
encounters a class without default constructor for example (it
knows what
the fields should be set to, but doesn't know how to construct
the object).
class A{
int x=2;
this(int x){
this.x=x;
}
}
This came up here:
https://github.com/msgpack/msgpack-d/issues/54#issuecomment-104136148
I provide some hacky solution for that in that thread but I
suspect it's
not safe and something is missing.
For a start I'm pretty sure you want to be calling
core.memory.GC.malloc not core.stdc.stdlib.malloc, otherwise you
leak the memory.