On Thu, 22 Dec 2011 00:01:53 -0500, Vladimir Panteleev
<vladi...@thecybershadow.net> wrote:
On Thursday, 22 December 2011 at 04:15:25 UTC, Froglegs wrote:
You can allocate classes anywhere, if you're OK with forfeiting
safety guarantees. For example, see emplace in std.conv:
http://dlang.org/phobos/std_conv.html#emplace
Hum calling emplace ending up calling this bit of code..
T* emplace(T)(T* chunk)
if (is(T == class))
{
*chunk = null;
return chunk;
}
Which returned me a nice fat null pointer.. wth? Perhaps that should be
a compile time error if you aren't supposed to use classes..
Strange... I'm not sure what the deal is with that overload. I meant the
last one on the page (that takes a void[]).
I see it, you are emplacing a class reference *pointer*, not a class
reference.
Just so you know, classes are references already, you don't need to use
pointers.
-Steve