view gcc/testsuite/g++.dg/cpp1y/pr71875.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/71875
// { dg-do link { target c++14 } }

template <typename T>
constexpr bool IsMatrix = false;

template<typename TElem>
class Matrix {};

template <typename TElem>
constexpr bool IsMatrix<Matrix<TElem>> = true;

template<typename TNestVec>
class RowVecExpMatrix;

template <typename TNestVec>
constexpr bool IsMatrix<RowVecExpMatrix<TNestVec>> = true;

int
main ()
{
  static_assert (IsMatrix<RowVecExpMatrix<Matrix<int>>>, "Matrix check error");
  static_assert (IsMatrix<Matrix<int>>, "Input type is not a matrix");
}