What's Changed
- Awaitables as linear types / performance improvements (#10)
- Compile without warnings on GCC and MSVC (#11)
The introduction of linear types is a substantial improvement to developer safety. There is now a chain of custody from:
- Creation of a task
- (optional) Wrapping of that task into a customizable awaitable
- (optional) Customization functions on that
- Submission of the task to the executor
At each step you must std::move the prior stage into the next. If you attempt to reuse the old variable, static analysis tools should be able to detect this use-after-move.