Please let me know if this is possible…
I would like to be able to have a coroutine / generator yield
to resume with a value.
This is a simplified version of what I am looking for:
In this example, yield
would end up requesting from the parent, that it wants to read the next byte, and the parent would resume the coroutine with the next byte. (In this case, it’s hardcoded to 54, but it can be any value.)
Yet it seems like Rust doesn’t have the ability to resume a yield with a value.
Is there any way I can get this to work?
Probably not, but it has been suggested. I’m a little surprised that
yield
is an expression here, because the RFC seems to only allow it as a statement.The only way I can think of doing it is to use something like a channel (send the receive end to the coroutine) and read right after yielding. Nothing in the API suggests that they’ve taken that into account yet.
Maybe it’s going to be addressed in a follow-up RFC? Like maybe there will be an optional
resume_with_value()
or something?