1 // PR c++/84785
2 // { dg-do compile { target c++11 } }
3 
4 template <typename> struct A;
5 template <bool> struct B;
6 template <bool B, typename> using enable_if_t = typename B<B>::type;
7 template <long> using type_pack_element = int;
8 struct variant {
variantvariant9   variant() {}
10   template <typename Arg, long I = Arg::type::value,
11             typename = type_pack_element<I>, enable_if_t<A<Arg>::value, int>>
12   variant(Arg &&);
13 };
14 
15 struct S {
16   variant var;
17 };
main()18 int main() { S s; }
19