Skip to content

Releases: codeinred/conduit

Exceptions get thrown from co_await

08 Sep 05:11
Compare
Choose a tag to compare
Pre-release

In this release, we fixed exception handling so that exceptions get thrown from a co_await expression as one would expect

Added support for MSVC

01 Sep 04:28
Compare
Choose a tag to compare
Pre-release

In this release we patched conduit to add support for MSVC. We also changed the way we build tests, so that each test is now in it's own cpp file. This allows for easier identification of why a build fails to compile when it fails to compile.

Exceptions now propagate out of a coroutine

30 Aug 19:40
Compare
Choose a tag to compare

Prior to this release, an exception thrown inside a coroutine would either be ignored entirely, or would result in the program terminating. This release adds support for exception handling, so that now exceptions propagate normally.

Note that when an exception is thrown, it will be propagated through whatever function most recently resumed the coroutine. If you have one coroutine co_awaiting on another coroutine that throws an exception, it will be destroyed and cleaned up, but won't observe the exception.

Support for coroutines which resume and throw an exception from a co_await expression will be added in a future release, however (as far as I know) it's not possible to do so without introducing overhead on the "good" path. The possibility of implementing them in a way similar to herpceptions will be explored and added, if discovered to be a viable route.

Added async::suspend_invoke

27 Aug 19:54
Compare
Choose a tag to compare
Pre-release
v0.2.0

Added suspend_invoke and tags::on_resume

All builds passing on Github Actions

27 Aug 06:03
Compare
Choose a tag to compare
Pre-release

Conduit is nearing completion. This version is a beta version that has been tested and shown to compile on several different systems and configurations. Please feel free to use this library in your code, although it should be noted that there may be slight changes in the interface of conduit until it reaches version 1.0.