On Thu, Jun 16, 2016 at 5:39 PM, Jason Mancini
I'm a user, but I've never seen a usage like this before.
So this snippet comes from a sizable code base. Took a long time to pinpoint then distill the issue down to the 6-line example! Pretty sure that std::bind / std::function don't support this usage, or at least it didn't work when I tried for a few minutes. Boost flavor seems a bit more featured.
The actual offender is the bigger change in bind/bind.hpp from 1.59 to 1.60 (not the trivial changes in args or placeholder). I can see they added significant std::forward / rvalue support. If I set BOOST_NO_CXX11_RVALUE_REFERENCES then also it continues to work. I suspect we've hit a corner case issue with forward / rvalue and boost::function / boost::shared_ptr.
I did some work around tasking, promises, futures, a little while back, and I seem to recall some questionable things in the perfect forwarding support, but I can't recall if it was along similar lines. HTH
Jason
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users