diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp index c6b77ed66..c3708e89e 100644 --- a/tests/src/unit-allocator.cpp +++ b/tests/src/unit-allocator.cpp @@ -20,11 +20,20 @@ struct bad_allocator : std::allocator { using std::allocator::allocator; + bad_allocator() = default; + template bad_allocator(const bad_allocator& /*unused*/) { } + template void construct(T* /*unused*/, Args&& ... /*unused*/) { throw std::bad_alloc(); } + + template + struct rebind + { + using other = bad_allocator; + }; }; } // namespace diff --git a/tests/src/unit-regression2.cpp b/tests/src/unit-regression2.cpp index 503d2a4f8..8a1415390 100644 --- a/tests/src/unit-regression2.cpp +++ b/tests/src/unit-regression2.cpp @@ -187,6 +187,15 @@ class my_allocator : public std::allocator { public: using std::allocator::allocator; + + my_allocator() = default; + template my_allocator(const my_allocator& /*unused*/) { } + + template + struct rebind + { + using other = my_allocator; + }; }; /////////////////////////////////////////////////////////////////////