id summary reporter owner description type status milestone component version severity resolution keywords cc 4175 [Proto] possible loss of expression wrappers in pass-through transforms Robert Valkenburg Eric Niebler " extended expressions seem to be getting unwrapped in proto pass through transforms. Others have not observed this effect so it may be a compiler/platform issue (or programmer of course) I've attached a smallish (~160 lines) file that only depends on ""boost/proto/proto.hpp"" The results are as follows (gcc 4.4.1 linux FC 11, x86_64 platform) g++ -Wall -I/home/users/robert/linux_x86_64/src/boost_1_42_0 test_boost_proto.cpp -o test_boost_proto test_boost_proto.cpp: In function ‘void clifford::evaluate(Res&, const clifford::ga_expr&) [with Res = clifford::multivector, Expr = boost::proto::exprns_::expr&>, 0l> > >, 1l>]’: test_boost_proto.cpp:126: instantiated from ‘clifford::multivector& clifford::multivector::operator=(const clifford::ga_expr&) [with T = boost::proto::exprns_::expr&>, 0l> > >, 1l>, B = clifford::cga3::rotator_basis, A = clifford::cga3::cga3]’ test_boost_proto.cpp:164: instantiated from here test_boost_proto.cpp:103: error: no matching function for call to ‘evaluate_expr(clifford::multivector&, boost::proto::exprns_::expr&>, 0l> >&>, 1l>)’ The clifford::ga_expr<> got removed so it was unable to find evaluate_expr() " Bugs closed Boost 1.43.0 proto Boost 1.42.0 Problem fixed proto pass through transforms