prog.cpp: In instantiation of 'element<0, typelist<int, double, char, float, long int> >':
prog.cpp:52:34: instantiated from here
prog.cpp:47:79: error: invalid use of incomplete type 'struct element_impl<0, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:38:8: error: declaration of 'struct element_impl<0, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:52:36: error: 'type' in class 'element<0, typelist<int, double, char, float, long int> >' does not name a type
prog.cpp:52:54: error: invalid type in declaration before ';' token
prog.cpp: In instantiation of 'element<1, typelist<int, double, char, float, long int> >':
prog.cpp:53:34: instantiated from here
prog.cpp:47:79: error: invalid use of incomplete type 'struct element_impl<1, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:38:8: error: declaration of 'struct element_impl<1, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:53:36: error: 'type' in class 'element<1, typelist<int, double, char, float, long int> >' does not name a type
prog.cpp:53:57: error: invalid type in declaration before ';' token
prog.cpp: In instantiation of 'element<2, typelist<int, double, char, float, long int> >':
prog.cpp:54:34: instantiated from here
prog.cpp:47:79: error: invalid use of incomplete type 'struct element_impl<2, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:38:8: error: declaration of 'struct element_impl<2, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:54:36: error: 'type' in class 'element<2, typelist<int, double, char, float, long int> >' does not name a type
prog.cpp:54:55: error: invalid type in declaration before ';' token
prog.cpp: In instantiation of 'element<3, typelist<int, double, char, float, long int> >':
prog.cpp:55:34: instantiated from here
prog.cpp:47:79: error: invalid use of incomplete type 'struct element_impl<3, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:38:8: error: declaration of 'struct element_impl<3, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:55:36: error: 'type' in class 'element<3, typelist<int, double, char, float, long int> >' does not name a type
prog.cpp:55:56: error: invalid type in declaration before ';' token
prog.cpp: In instantiation of 'element<4, typelist<int, double, char, float, long int> >':
prog.cpp:56:34: instantiated from here
prog.cpp:47:79: error: invalid use of incomplete type 'struct element_impl<4, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:38:8: error: declaration of 'struct element_impl<4, typelist<pair<int, 0>, pair<double, 1>, pair<char, 2>, pair<float, 3>, pair<long int, 4> > >'
prog.cpp:56:36: error: 'type' in class 'element<4, typelist<int, double, char, float, long int> >' does not name a type
prog.cpp:56:55: error: invalid type in declaration before ';' token
prog.cpp:59:1: error: static assertion failed: "std::is_same<should_be_double, double>::value"
prog.cpp:60:1: error: static assertion failed: "std::is_same<should_be_char, char>::value"
prog.cpp:61:1: error: static assertion failed: "std::is_same<should_be_float, float>::value"
prog.cpp:62:1: error: static assertion failed: "std::is_same<should_be_long, long>::value"