id summary reporter owner description type status milestone component version severity resolution keywords cc 2248 BLL constifies return values of operator* thomas weidner No-Maintainer "Hi, the problem can quickly described as {{{ ( *_1 = 0 ) ( shared_ptr(new int) ); // vs ( *_1 = 0) ( new int ); }}} only the second line compiles. I tracked down the problem to boost/lambda/operator_return_type_traits.hpp:230. The BLL sets the return type of (const shared_ptr)::operator*() to be const int& rather than int&. This is like turning int * const into int const *. I (and others) don't see a reason for this specialization, the code above works with the specialization removed. " Bugs closed Boost 1.37.0 lambda Boost 1.36.0 Problem duplicate