Boost logo

Boost :

From: Joel de Guzman (joel_at_[hidden])
Date: 2007-10-29 20:19:43


Christopher Cambly wrote:
> "John Maddock" <john_at_[hidden]> wrote on 10/27/2007 12:40:06 PM:
>
>>>> How would you like to proceed?
>>> I'd be willing to put in workarounds (ifdefs). Alas, I do not have
>>> access to this compiler. I'd appreciate help from you or someone else.
>> Since I've been the one pushing you fix this... I don't mind spending
> some
>> time on this, but I don't have access to this platform/compiler either.
>> Even if we could just get the TR1 tuples working that would be a big
> start.
>> John.
>
> I can certainly help since I have access to the compiler:-) If I
> understand correctly what is meant by getting TR1 tuples working, making
> the change to std_pair.hpp will clean up TR1 tuple test problems.

Well, I was hoping for a fusion-wide fix:
http://beta.boost.org/development/tests/trunk/developer/fusion.html

> To help explain the compiler problem we can look at the small example:
>
> template <typename T0 = void, typename T1 = void> struct make_vector;
> template <typename T0> struct make_vector<T0> { };
>
> The compiler is analyzing the partial specialization make_vector<T0> when
> the error message is emitted.
>
> The compiler has the partial specialization, and would like to find the
> primary class template. We find a candidate primary class template in
> "template <typename T0 = void, typename T1 = void> struct make_vector;".
> In the process of matching the partial specialization arguments to the
> primary class template parameters, we think that partial specializations
> are not allowed to use default parameters from the primary class template.
> Since the primary template class has two parameters, and the partial
> specialization explicitly specifies only one argument (ignoring the
> defaulted argument) we issues the error message: (S) Too few template
> arguments specified.
>
> The work around I suggested is to have the number of arguments on the
> partial specialization the same as the number of arguments on the primary
> class template.

I understand the issue involved, but I'd really appreciate a patch.
I can't just go on and tweak the whole library without any testing.
I don't think I have the guts to submit any code to SVN without
testing, especially at this point when we are just about to
branch for release.

Regards,

-- 
Joel de Guzman
http://www.boost-consulting.com
http://spirit.sf.net

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