From: Douglas Gregor (gregod_at_[hidden])
Date: 2003-03-15 15:10:20
This regression in Function is coming from your recently change to
is_class.hpp. Would you mind taking a look?
On Saturday 15 March 2003 01:31 pm, Bernhard Glueck wrote:
> Hi !
> I was using boost:function for a while now with success on
> Visual C 7.0 ( MSVC 1300 ) .
> I was always using the most actual boost 1.30.0 version from the CVS.
> Today i updated the CVS again ( after two days of not doing so )
> and suddenly my code which relied on boost::function does not compile
boost::function hasn't changed in the last few weeks, but some of the
libraries it depends on have changed.
> I think there have some changes been made, so i need to change my code,
> but since there is no boost::function
> documentation in the CVS yet can someone please enlighten me what has
> changed .. ?
FYI, updated documentation for Boost.Function is here:
Also, it's on the RC_1_30_0 branch in CVS (that will be 1.30.0; mainline CVS
is for 1.31.0 and later).
> Here is the relevant code:
> ( I have marked the line where compilation fails and provided the exact
> error details below )
> ( This code compiled perfectly two days ago )
>//////// /// VISUAL C ERROR OUTPUT:
>/////// D:\Sdk\boost\boost\type_traits\is_class.hpp(78) : error C2510:
> 'value' : left of '::' must be a class/struct/union
> D:\Sdk\boost\boost\type_traits\is_class.hpp(94) : see reference
> to class template instantiation 'boost::detail::is_class_impl<T>' being
> T=boost::any (__cdecl *)(const boost::any &)
Looks like a type_traits problem. I suspect this patch:
RCS file: /cvsroot/boost/boost/boost/type_traits/is_class.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -r1.5 -r1.6
> ::boost::type_traits::ice_not< ::boost::is_function<T>::value
> ////////////////////// SECOND Problem
> As you may note all conversions from data types to std::string are
> commented out !
> This is because boost::lexical_cast fails to compile in DEBUG mode ( it
> compiles fine in RELEASE Mode
> and also works like a charm in RELEASE mode )
The implementation of lexical_cast w.r.t. strings is in a state of flux. I'm
too far out of the loop to be helpful on this one.