http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51194
--- Comment #2 from fate66260 at gmail dot com 2011-11-18 08:59:28 UTC --- http://ideone.com/lZEbs g++ (GCC) 4.7.0 20111112 g++ -std=c++0x a.cpp -------------------------------------------------------------------------- a.cpp: In instantiation of 'struct enable_and<is_same, is_same, is_same>': a.cpp:110:19: required from here a.cpp:91:46: error: wrong number of template arguments (1, should be 2) a.cpp:69:8: error: provided for 'template<class, class> struct is_same' a.cpp:91:46: error: wrong number of template arguments (1, should be 2) a.cpp:69:8: error: provided for 'template<class, class> struct is_same' a.cpp:110:41: internal compiler error: tree check: expected class 'type', have ' exceptional' (error_mark) in lookup_template_class_1, at cp/pt.c:7293 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -------------------------------------------------------------------------- Lines 69 and 91, [C++0x] Inner class alias-definition variadic template error http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51180