| // PR c++/56450 | |
| // { dg-do compile { target c++11 } } | |
| template<typename T> | |
| T&& declval(); | |
| template<typename, typename> | |
| struct is_same | |
| { static constexpr bool value = false; }; | |
| template<typename T> | |
| struct is_same<T, T> | |
| { static constexpr bool value = true; }; | |
| struct A { static const int dummy = 0; }; | |
| static_assert(is_same<decltype(declval<A>().dummy), const int>::value, ""); | |
| static_assert(!is_same<decltype(declval<A>().dummy), const int&>::value, ""); |