Ok, gotcha. Placement new is @system, but you wanted to use it in an @safe function iff the constructor to be called is @safe as well. The reason placement new is @system is because of double-init. It can't be a safe operation.