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.

HTH

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

143c143
< class binder

---
> class binder_class
146c146
<     binder(const F& func, const T& param)
---
>     binder_class(const F& func, const T& param)
156c156
< binder<F, T> bind(const F& func, const T& param)
---
> binder_class<F, T> bind(const F& func, const T& param)
158c158
<     return binder<F, T>(func, param);
---
>     return binder_class<F, T>(func, param);

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk