This is a proof-of-concept showing how we can fix some known deficiencies in std::deque (24693, 77524, throwing moves) for builds using --enable-symvers=gnu-versioned-namespace, which don't need to preserve ABI compatibility. I'm also considering defining an allocator adaptor that would also enable these fixes, so that std::deque> would be equivalent to std::deque except that it would enable these improvements even for the default --enable-symvers=gnu mode. There should be very little overhead to the extra code, because most of the new branches depend on compile-time constants. Are people interested in seeing this for GCC 7?