id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 2938,[operators] BOOST_OPERATOR2_LEFT prevents builtin types from being used as first template parameter,Arne Mertz ,Daniel Frey,"Minimal code example: #include class X : public boost::subtractable2_left { public: friend double& operator-= (double& lhs, X const&) { return lhs; } operator double() const {return 1.0;} }; int main() { X x; double d = x - 0.5; //ERROR: left operand of op-= has to be l-value } #defines BOOST_NO_NRVO and BOOST_FORCE_SYMMETRIC_OPERATORS are not set, so the short implementation in line 240 (as of Sat April 4th, 2009) is used: return T( lhs ) -= rhs; on msvc 2008 express this does not work with T being a builtin type.",Bugs,closed,Boost 1.39.0,operators,Boost 1.38.0,Problem,invalid,,