| // { dg-do compile { target c++11 } } | |
| template<typename T, typename U> struct same_type; | |
| template<typename T> struct same_type<T, T> {}; | |
| template <typename T> | |
| 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<S<int &>::type, int&(&)()>(); | |
| } |