fork(3) download
  1. #include <iostream>
  2. #include <type_traits>
  3. using namespace std;
  4.  
  5. template <typename T>
  6. struct dummy {};
  7.  
  8. template <typename T, typename U>
  9. struct fail : dummy<T>, dummy<U>, true_type {};
  10.  
  11. template <typename T, typename U = void>
  12. struct test : false_type {};
  13.  
  14. template <typename T>
  15. struct test<T, typename enable_if<fail<T, T>::value, void>::type> : true_type {};
  16.  
  17. int main() {
  18. cout << test<int>::value << endl;
  19. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In instantiation of ‘struct fail<int, int>’:
prog.cpp:18:19:   required from here
prog.cpp:9:8: error: duplicate base type ‘dummy<int>’ invalid
 struct fail : dummy<T>, dummy<U>, true_type {};
        ^
stdout
Standard output is empty