https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87044
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- This is correct: custom reference types are not supported at all, and never will be. And that's not a bug. The container requirements in the standard require X::reference to be X::value_type&, and the allocator requirements do not have any reference/const_reference member types at all.