|
Boost : |
From: Joel de Guzman (joel_at_[hidden])
Date: 2007-07-02 02:22:19
Eric Niebler wrote:
>
> Joel de Guzman wrote:
>> Stefan Seefeld wrote:
>>> Michael Marcin wrote:
>>>> If I include <boost/fusion/support/tag_of.hpp> my compiler (derived
>>>> from Metrowerks 9.4) gives me several errors claiming illegal
>>>> partial specializations.
>>>>
>>>> It looks like it's partially specializing forward declarations of
>>>> the tag_of structure. I don't know if that's allowed (from the
>>>> error I assume probably not) but it certainly seems to be pointless
>>>> to me. Are these perhaps supposed to be more than declarations?
>>> What's the point, if you (partially) specialize it anyway ?
>>>
>>> FWIW, I have seen similar errors with IBM's XLC++ and am pretty sure
>>> that
>>> at least in that particular case it was a compiler bug.
>>
>> Yes, it's most probably a compiler bug. I've seen this before.
>> patch welcome ;-). I do not have CW now.
>
> The attached patch should fix this problem. It uses an MPL assert in the
> primary template to catch potential ODR violations, rather than forward
> declared partial specializations.
Cool! Committed to CVS? Thanks!
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