prog.cpp: In instantiation of ‘struct fail<int, int>’:
prog.cpp:23:29: required from here
prog.cpp:9:8: error: duplicate base type ‘dummy<int>’ invalid
struct fail : dummy<T>, dummy<U> {};
^
prog.cpp: In function ‘std::true_type test(fail<T, T>) [with T = int; std::true_type = std::integral_constant<bool, true>]’:
prog.cpp:23:29: note: when instantiating default argument for call to std::true_type test(fail<T, T>) [with T = int; std::true_type = std::integral_constant<bool, true>]
cout << decltype(test<int>())::value << endl;
^