[Bug libstdc++/87044] stl_construct.h not interoperable with allocators with custom reference types

2018-08-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87044

--- Comment #3 from Jonathan Wakely  ---
See also https://cplusplus.github.io/LWG/lwg-closed.html#1318 which requested
that custom references be put back, and was closed as Not A Defect.

[Bug libstdc++/87044] stl_construct.h not interoperable with allocators with custom reference types

2018-08-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87044

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Jonathan Wakely  ---
The address() member was removed from the allocator requirements for C++11, so
it's wrong to expect it to be used.
https://en.cppreference.com/w/cpp/named_req/Allocator#Requirements

[Bug libstdc++/87044] stl_construct.h not interoperable with allocators with custom reference types

2018-08-21 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87044

--- Comment #1 from Jonathan Wakely  ---
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.