Am Mo., 29. Nov. 2021 um 18:09 Uhr schrieb Glen Fernandes via Boost < boost@lists.boost.org>:
Boost.Coroutine is deprecated, but cannot be removed because of Asio. The discussion above implies that Boost.Spawn allows Boost.Coroutine to be removed - but I don't understand how because Boost.Asio still depends on Boost.Coroutine
My suggestion is that we convince Chris to remove boost::asio::spawn and add a notice/link to boost.spawn in the asio documentation.
And Boost.Asio cannot depend on Boost.Spawn since the latter depends on Boost.Asio, no? According to Oliver's e-mail above Spawn uses io_context from Asio, and that would result in a dependency cycle.
What am I missing?
I previously made a commit in boost.context that implemented spawn_fiber() (but introduced a dependency to boost.asio because of io_context). Via boost::asio::spawn() boost.asio has itself a dependency to boost.coroutine. Boost.coroutine depends on boost.context as a foundation for context switching.