blob: 0f9110767620ac104366c23b9d5602bd2c7cca23 [file] [log] [blame]
template<typename _Tp>
class allocator {};
template<typename _Alloc> struct allocator_traits;
template<typename _Tp>
struct allocator_traits <allocator<_Tp>>
{
using pointer = _Tp*;
};
struct mutex {};
template<typename _Tp, typename _Alloc>
class Inplace
{
public:
virtual void _M_dispose() noexcept
{
// bogus error ambiguous partial specializations
typename allocator_traits<_Alloc>::pointer v;
}
};
inline void *
allocate_shared()
{
return new Inplace<mutex, allocator<mutex>> ();
}