$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2007-10-18 12:40:46
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).