Boost logo

Boost :

From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2005-05-26 01:19:36

Michael Glassford ha escrito:

> As far as I can see, these are all type_traits compile errors in the
> Boost.Thread regression tests. Did something change fairly recently in
> the type traits library or the way that Boost.Test uses it that might
> cause this? Unfortunately, I don't have access to VC6 to help me debug
> it, and don't know enough about changes in those or other libraries to
> debug the problem "in a vacuum".

The problem is due to an internal typedef in the is_convertible implementation
called "binder", which clashes with your "binder" in libs\thread\testutil.inl.
The "binder" in is_convertible was introduced about two months ago,
hence the regression.
I don't know the exact circumstances where this compiler bug shows, but I
know I've been bitten by it in the past. Simply renaming your binder to
anything else (like in the attached patch) solves the problem.


Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo

< class binder

> class binder_class
<     binder(const F& func, const T& param)
>     binder_class(const F& func, const T& param)
< binder<F, T> bind(const F& func, const T& param)
> binder_class<F, T> bind(const F& func, const T& param)
<     return binder<F, T>(func, param);
>     return binder_class<F, T>(func, param);

Boost list run by bdawes at, gregod at, cpdaniel at, john at