1 // Reported by Przemyslaw Szymanski on 02.06.2016 2 3 template <typename T = void, bool B1 = true> // (1) fail if there are multiple params with default values 4 class A : public T 5 { 6 public: 7 typedef A<T, B1> this_type; 8 A(int i)9 A(int i ) : m_i(i) 10 { 11 } 12 create(int i)13 static A create(int i) 14 { 15 return this_type(i); // (2) fail here 16 } 17 18 static int g_i; 19 private: 20 int m_i; 21 }; 22 23 template <typename T, bool B1> 24 int A<T, B1>::g_i; // (3) fail during parsing static member definition