view gcc/testsuite/g++.dg/cpp0x/alias-decl-52.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/67021
// { dg-do compile { target c++11 } }

template<typename> struct Dummy;
template<> struct Dummy<int> {};

template <class...>
struct all_same { static constexpr bool value = true; };
template <class T, class...Rest>
struct all_same<T, T, Rest...> : all_same<T, Rest...> {};
template <class T, class U, class...Rest>
struct all_same<T, U, Rest...> { static constexpr bool value = false; };

template <class R>
using ValueType = int;

template <class I>
constexpr bool A(I i) {
  return all_same<ValueType<I>, ValueType<decltype(i++)>>::value;
}

int main() {
  static_assert(A(42), "");
}