blob: e1d1b5041f994bb3108be1959663c864ef43e1a2 [file] [log] [blame]
// PR c++/54975
// { dg-do compile { target c++11 } }
template<typename T>
struct identity
{
typedef T type;
};
template<typename T>
void f()
{
typedef typename T::type A;
int i = 42;
int const &cri = i;
int volatile &vri = i;
[&]() {
A const &x = cri; // Problem here
A volatile &y = vri; // Likewise
};
}
int main()
{
f<identity<int> >();
}