We haven't discussed Boost.Async, just Boost.Sync for now. It seems possible, although I wonder what will be left in Boost.Thread then? Basic thread management?
Sorry that was a typo, I meant Boost.Sync yes. It's true that Boost.Thread would host only boost::thread and interruptions then, so the split I was wondering about might not really helpful, nevermind. I was just wondering because future/promise/async are, to me, synchronization mechanisms, but high-level compared to the ones you already want to separate, so I would have expected to find them with other "synchronization" mechanisms, OR in a high-level synchronization mechanism library. Future/promise/aysnc are all packed into <future> in the standard library by the way, not sure if it's the best grouping but it's notable data.
i'd rather have boost.sync provide only low-level threading classes. especially it should not depend on boost.thread to avoid cyclic dependencies. we already have the awkward situation that sync will depend on atomic, which will depend on spinlocks defined in sync ...