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()18int main() { S s; } 19