
Hi Gavin/Joaquin, Since we saw the error in construct in buckets.hpp. I searched for "construct(" in my pre-processed file. This is the template replacement, . . . template<class _Ty1, class _Ty2> inline void _Construct(_Ty1 *_Ptr, _Ty2&& _Val) { void *_Vptr = _Ptr; ::new (_Vptr) _Ty1(::std:: forward<_Ty2>(_Val)); } template<class _Ty1> inline void _Construct(_Ty1 *_Ptr) { void *_Vptr = _Ptr; ::new (_Vptr) _Ty1(); } . . . struct _Alloc_construct { template<class _Ty, class _Objty, class... _Types> static auto _Fn(int, _Ty& _Al, _Objty *_Ptr, _Types&&... _Args) -> decltype( _Al.construct(_Ptr, ::std:: forward<_Types>(_Args)...)) { _Al.construct(_Ptr, ::std:: forward<_Types>(_Args)...); } template<class _Ty, class _Objty, class... _Types> static auto _Fn(_Wrap_int, _Ty&, _Objty *_Ptr, _Types&&... _Args) -> void { ::new (static_cast<void *>(_Ptr)) _Objty(::std:: forward<_Types>(_Args)...); } }; . . . template<class _Ty, class... _Types> static void construct(_Alloc& _Al, _Ty *_Ptr, _Types&&... _Args) { _Alloc_construct::_Fn(0, _Al, _Ptr, ::std:: forward<_Types>(_Args)...); } . . . void construct(_Ty *_Ptr) { ::new ((void *)_Ptr) _Ty(); } void construct(_Ty *_Ptr, const _Ty& _Val) { ::new ((void *)_Ptr) _Ty(_Val); } template<class _Objty, class... _Types> void construct(_Objty *_Ptr, _Types&&... _Args) { ::new ((void *)_Ptr) _Objty(::std:: forward<_Types>(_Args)...); } . . . Thanks, Ram