http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51654
--- Comment #1 from Mathias Gaunard <mathias at gaunard dot com> 2011-12-22 15:16:18 UTC --- Excuse the typo, the above code should have been template<class T> struct test { typedef typename T::vector vector; }; to be valid C++ code. The " vector" bit is incorrectly removed in both cases though.