1 // PR c++/68884
2 // { dg-do compile { target c++11 } }
3 
4 namespace std {
5   template <typename _Tp, _Tp __v> struct A { static constexpr _Tp value = __v; };
6 typedef A<bool, true> true_type;
7 }
8 template <int> struct VsA;
9 template <class ValueType> struct ValueTemplate {
10   template <template <ValueType> class, class> struct IsInstanceOf;
11   template <template <ValueType> class TemplateA, ValueType... TypesA>
12   struct IsInstanceOf<TemplateA, TemplateA<TypesA...>> : std::true_type {};
13 };
14 bool foo = ValueTemplate<int>::IsInstanceOf<VsA, VsA<0>>::value;
15