http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55977

--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 
2013-01-14 22:18:08 UTC ---
I just notice that the implementation of construct should be changed to

  template <class U, class... Args>
  void construct(U* p, Args&&... args)
  {
     ::new (static_cast<void*>(p)) U(std::forward<Args>(args)...);
  }

instead. The slight difference (Replace T by U) doesn't matter in this example,
but for correctness reasons should be applied.

Reply via email to