
In the following code: struct A { void func(); } int main() { shared_ptr<A> a(new A); boost::bind(&A::func, a); } the bind() call returns a function object which holds the shared_ptr by value (it's one of the shared owners). This is an important feature I'm using, because sometimes the functor is the last owner left standing, and I want to keep A alive until the functor's destructor (actually, I don't really like this design, but I'm talking about legacy code here). Replacing boost::bind with lambda::bind doesn't compile. Is this feature not supported by lambda::bind? If not supported now, is it planned to be supported in the future? Can I in the mean time implement this feature in my code with relative ease? Thanks, Yuval