
"Stefan Slapeta" <stefan_nospam_@slapeta.com> wrote in message news:cebvag$5i2$1@sea.gmane.org... | | First of all, the most important question: Why do we test workarounds | for partial spezialization on compiler which don't need these workarounds? Do you know how to make the test run for only the relevant compilers? | I've isolated the problem with the failing range/workaround testcase on | Intel 8. IMO it's a compiler defect because the function template in | is_array should be disabled by SFINAE. This code fails to compile with | the current comeau release, too. | | | template <class T> struct wrap {}; | | // this one should disabled because it's not allowed to return an array: | template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>); What does the line above mean in plain English :-) And why is is_array not defined as template< class T, int sz > true_type is_array( const T (&array)[sz] ); template< class T, int sz > true_type is_array( T (&array)[sz] ); no_type is_array( ... ); ? br Thorsten