id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 2290,Patch for GCC-4.0.1 compatibility (and better compile time).,Dave Abrahams,Matthias Troyer,"This patch makes the tests build on GCC-4.0.1 and leaves out what I believe to be the unnecessary step of checking whether a metafunction class is actually a placeholder expression. If I'm understanding correcetly, it will always be a metafunction class, and not just in the tested examples. Note that this patch is against 1.35.x; I know things have been shuffled for 1.36 but I assume the same transformation can be applied elsewhere. {{{ #!diff Index: boost/archive/array/iarchive.hpp =================================================================== --- boost/archive/array/iarchive.hpp (revision 3118) +++ boost/archive/array/iarchive.hpp (working copy) @@ -108,7 +108,7 @@ template void load_override(serialization::array const& x, unsigned int version) { - typedef typename mpl::apply1< + typedef typename mpl::apply_wrap1< BOOST_DEDUCED_TYPENAME Archive::use_array_optimization , ValueType >::type use_optimized; Index: boost/archive/array/oarchive.hpp =================================================================== --- boost/archive/array/oarchive.hpp (revision 3118) +++ boost/archive/array/oarchive.hpp (working copy) @@ -107,7 +107,7 @@ template void save_override(serialization::array const& x, unsigned int version) { - typedef typename mpl::apply1< + typedef typename mpl::apply_wrap1< BOOST_DEDUCED_TYPENAME Archive::use_array_optimization , BOOST_DEDUCED_TYPENAME remove_const::type >::type use_optimized; }}} ",Patches,closed,Boost 1.37.0,serialization,Boost 1.35.0,Problem,invalid,workaround,Matthias Troyer