https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103162
--- Comment #12 from Florin Iucha <florin.iucha at amd dot com> --- (In reply to Jonathan Wakely from comment #9) > (In reply to Florin Iucha from comment #2) > > It indicates that it reports errors via exceptions. > > Yes, but that doesn't mean 0 is a valid return value. The non-nothrow forms > of operator new also use exceptions to report errors, but that doesn't mean > that they can return 0 as a valid pointer. pmr::memory_resource is intended > to work the same way: either return a valid pointer to dereferencable > memory, or throw an exception. There is no third alternative, of returning > an invalid or null pointer value. Well, bitten by a co-variant of Hyrum's law - the documentation doesn't explicitly say "0 is not a valid return", and I was relying on the documentation and my reading of the spec, without having access to the mental model of the authors. Thank you again for acting as a conduit and clarifying the design intent.