|
Boost : |
From: Paul A Bristow (pbristow_at_[hidden])
Date: 2007-10-19 05:18:14
>-----Original Message-----
>From: boost-bounces_at_[hidden]
>[mailto:boost-bounces_at_[hidden]] On Behalf Of Peter Dimov
>Sent: 18 October 2007 17:41
>To: boost_at_[hidden]
>Subject: Re: [boost] Bind and MSVC 8 SP1
>
>Ben Pope:
>
>> Hi,
>>
>> I just started testing Boost 1.34.1 and have found this piece of code
>> produces a warning, which was not present in Boost 1.33.1:
>
>...
>
>> It seems to pick this specialisation:
>> template< class M, class T > struct add_cref< M T::*, 1 >
>> {
>> typedef M const & type; //bind.hpp(1575)
>> };
>>
>> When I would have thought this one more appropriate:
>>
>> template< class R, class T > struct add_cref< R (T::*) (), 1 >
>> {
>> typedef void type; // bind.hpp(1580)
>> };
>>
>> Any ideas?
>
>None. We've reported this to Microsoft and they have (after much
>deliberation) classified it as a bug, but apparently a fix would be
>non-trivial and I don't know whether they plan to ever issue
>one for the
>MSVC 8 line.
>
>The warning is harmless, as the wrong specialization is only used in a
>return type in an overload that isn't chosen (the only purpose of this
>specific specialization is to avoid the warning).
Can I take it that the warnings I moaned about in Trac #1097:
keyword.hpp generates many warnings C4180: qualifier applied to function
type has no meaning; ignored
is the same problem, and
can be safely suppressed?
(And if do should someone close the Trac item?)
Thanks
Paul
--- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk