-
Suggestion
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
6.4.3
-
None
-
c080d1e64 (dev)
QThreadPool::start() has an overload that takes a std::function. However, since std::function must be copyable, it's not possible to pass move-only lambdas. For example
FileDescriptor fd{42};
// FileDescriptor is move only
QThreadPool::globalInstance()->start([fd = std::move(fd)]() mutable {
// some work
flush(std::move(fd)); // move the file descriptor ownership to flush()
});