http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46105
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-27 21:03:50 UTC --- I think the point is that the element<T const> partial specialization should be preferred, but GCC considers them ambiguous, and uses the primary template.