https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48101
gccbugs at jbapple dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gccbugs at jbapple dot com --- Comment #3 from gccbugs at jbapple dot com --- libc++ handles this with a partial template specialization like template<typename T> class allocator<const T> { ... See https://github.com/llvm-mirror/libcxx/blob/b4a34c08ac01146141a9940bcfb0a680d24dc092/include/memory#L1817