On Fri, 27 Aug 2021 at 21:58, François Dumont via Libstdc++ <libstd...@gcc.gnu.org> wrote: > > Since std::allocator<void> is not specialized anymore in > _GLIBCXX_INLINE_VERSION mode _ExtPtr_allocator<void> specialization do > not compile > > because std::allocator<void> is incomplete.
That doesn't look right ... it should be complete. This suggests there is a deeper problem, which I'll look into. > > So I think primary _ExtPtr_allocator template should also be prefered in > _GLIBCXX_INLINE_VERSION mode. I think it should always be preferred. The _ExtPtr_allocator<void> specialization is useless, it is missing the converting constructor that would be needed to convert to/from that type to any other _ExtPtr_allocator<T> specialization.