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

Reply via email to