bkietz opened a new pull request #8591: URL: https://github.com/apache/arrow/pull/8591
`Future<Status>` and `Future<void>` now support the `result()` member function; their `ValueType` is an empty struct. This will simplify generic code handling `Future<T>` since special cases which avoid `result()` need not be written for statusy futures. Details: - `DeferNotOk` and `ExecuteAndMarkFinished` are no longer members of `Future<>` - Constructing finished Futures no longer locks the waiter mutex - Future now holds a `shared_ptr<FutureImpl>` directly. `FutureImpl` stores the Future's result in a type erased allocation. - `FutureStorage<>` and `FutureStorageBase` are obviated and have been removed - deleted `Executor::SubmitAsFuture()` since it isn't used and can be trivially replaced: `ex->SubmitAsFuture(f)` -> `DeferNotOk(ex->Submit(f))` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
