Ok, maybe we can get rid of std::function, then! I hadn’t used BlockPtr as much as Chris. I’d be opposed to adding a copy constructor to WTF::Function because the non-copyability of WTF::Function is why we made it, and it has prevented many bugs.
I’ve also seen many cases where I have a WTF::Function that I want to make sure is called once and only once before destruction. I wouldn’t mind adding a WTF::Callback subclass that just asserts that it has been called once. That would’ve prevented some bugs, too, but not every use of WTF::Function has such a requirement. > On Jun 13, 2017, at 12:31 PM, Chris Dumez <cdu...@apple.com> wrote: > > We already have BlockPtr for passing a Function as a lambda block. > > Chris Dumez > > On Jun 13, 2017, at 12:29 PM, Alex Christensen <achristen...@apple.com > <mailto:achristen...@apple.com>> wrote: > >> std::function, c++ lambda, and objc blocks are all interchangeable. >> WTF::Functions cannot be used as objc blocks because the latter must be >> copyable. Until that changes or we stop using objc, we cannot completely >> eliminate std::function from WebKit. >> _______________________________________________ >> webkit-dev mailing list >> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org> >> https://lists.webkit.org/mailman/listinfo/webkit-dev >> <https://lists.webkit.org/mailman/listinfo/webkit-dev>
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev