https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103086
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- The branches all get this testcase wrong: #include <memory> #include "../util/testsuite_allocator.h" struct Deleter { int deleter_member = -1; using pointer = __gnu_test::NullablePointer<int*>; void operator()(pointer) const noexcept { } }; int main() { std::unique_ptr<int, Deleter> p; return 0; } I'll add that test, as well as backporting the fix from trunk.