// PR c++/82308 // { dg-do compile { target c++17 } } template struct array {}; template class X { public: using T = array; enum class C : char { A, B }; X(T bounds, C c = C::B) : t(bounds) {} private: T t; }; int main() { array a; X d{a}; X<2> e{a}; }