diff --git a/tests/src/unit-allocator.cpp b/tests/src/unit-allocator.cpp index 3c719bf26..9862e8c5e 100644 --- a/tests/src/unit-allocator.cpp +++ b/tests/src/unit-allocator.cpp @@ -14,7 +14,6 @@ using nlohmann::json; #include #include -#include #include #if JSON_HAS_RANGES #include @@ -1074,14 +1073,17 @@ struct sweep_allocator return (std::numeric_limits::max)() / sizeof(T); } - // libc++ probes whether construct() is usable for const objects (when - // checking for trivial copies); this must not be viable then - template::value>::type> + template void construct(U* p, Args&& ... args) noexcept(noexcept(::new (static_cast(p)) U(std::forward(args)...))) { ::new (static_cast(p)) U(std::forward(args)...); } + // libc++ probes whether construct() is usable for const objects (when + // checking for trivial copies); this must not be viable then + template + void construct(const U* /*unused*/, const Args& ... /*unused*/) = delete; + template void destroy(U* p) noexcept {