At 09:48 AM 3/18/2003, David Abrahams wrote:

>[EMAIL PROTECTED] writes:
>
>>> it seems to me that these aren't actually legal specializations
>>> (though I've never specialized functions before so I could be wrong).
>>> Shouldn't that be:
>>>
>>>     template <>
>>>     inline type_info type_id<Pointee>(boost::type<Pointee>*) {
>>>         return type_info(typeid(Pointee*));
>>>     }
>>>
>>>     template <>
>>>     inline type_info type_id<const volatile Pointee&>(
>>>         boost::type<const volatile Pointee&>*) {
>>>           return type_info(typeid(Pointee*));
>>>     }
>>>
>> You're probably right, but the other compilers didn't
>> complain...  Anyway, that wasn't the cause of the problem; the
>> problem seems to be that gcc-2.9x doesn't recognize the defaulted
>> argument but insists on having an argument anyway.  Now i have
>> changed my specializations such that these have *no* arguments and
>> now it works on all my compilers (MSVC6, VC7.1ß, gcc-2.95.3,
>> gcc-3.2).
>
>I think we need to keep the argument for VC6 at least; the problem is
>one that shows up at link time because VC6 seems to distinguish
>function template instantiations only by the types of the arguments
>and not the template parameters.  If you amend the patch so that it
>still uses the default argument for VC6, I will be happy for Ralf to
>apply it.
>
>Beman, can we get this in under the wire?  It only affects
>Boost.Python and then only a new feature of Boost.Python.

Yes, if it is ready in the next couple of hours. Please let me know when it is committed.

Thanks,

--Beman


_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to