// { dg-options "--std=c++0x" } template struct same_type; template struct same_type {}; template struct S { typedef T const (&type)(); }; void f() { // initial implementation didn't ignore const qualifier on // reference, resulting in a typedef of 'const int& (&)()' same_type::type, int&(&)()>(); }