PR c++/85553
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / ref-qual13.C
blob84d3b0f2ddb69450864354ef5d119218adb94cf3
1 // PR c++/57388
2 // { dg-require-effective-target c++11 }
4 template<class> struct A
6   static constexpr bool value = false;
7 };
9 template<class Res, class... Args>
10 struct A<Res(Args...)>
12   static constexpr bool value = true;
15 template<class Res, class... Args>
16 struct A<Res(Args...) const &>
18   static constexpr bool value = true;
21 template<class Res, class... Args>
22 struct A<Res(Args...) const &&>
24   static constexpr bool value = true;
27 static_assert(A<void()>::value, "Ouch");
28 static_assert(A<void() const &>::value, ""); // #1
29 static_assert(A<void() const &&>::value, ""); // #2