Not necessarily. Coroutines are invisible at the ABI level (that is coroutines are just functions).
It's pretty easy to write a library with them (using your own executor) and not reveal their use to the user.
Obviously sharing an executor between application and library is another matter.