
Christopher Cambly wrote:
"John Maddock" <john@johnmaddock.co.uk> 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