Note:
I know usual reasons are possible: nobody thought of it/wrote paper/WG21 did not think it is worth the effort, I am more interested in technical problems that prevent potential implementation than in the value of utility of this functionality.
I always found it weird that this does not work(even before concepts, since we could use enable_if)
#include <vector>
#include <boost/align/aligned_allocator.hpp>
int main()
{
std::vector<int> a{1,2,3};
std::vector<int, boost::alignment::aligned_allocator<int,64>> b{1,2,3};
return a==b;
}
Reason is that allocators do not affect the values stored in the container(I understand that values could be using their address in the operator ==, I am talking about "normal" types).
So my question is: if we wanted to do it with C++20 concepts could we introduce this functionality without breaking any existing code?