Boost logo

Boost :

From: Stefan Slapeta (stefan_nospam__at_[hidden])
Date: 2004-07-29 17:59:28


First of all, the most important question: Why do we test workarounds
for partial spezialization on compiler which don't need these workarounds?

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>);
char is_array_tester1(...);

void f()
{
        sizeof(is_array_tester1(wrap<int[42]>());
}

Shall a submit a DR?

Stefan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk