https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91541
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to frankhb1989 from comment #0)
> Case:
>
> #include <utility>
> #include <memory_resource>
> #include <map>
> #include <functional>
>
> struct A : std::allocator<std::pair<const int, int>>
> {
> template<typename U>
> struct rebind
> {
> using other = std::pmr::polymorphic_allocator<U>;
This type does not meet the allocator requirements. For a valid allocator,
A::rebind<A::value_type>::other must be the same type as A, and
A::rebind<U>::other::rebind<A::value_type>::other must also be the same type as
A.