(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
pr71875.C
// 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");
}