this post was submitted on 24 Oct 2023
42 points (97.7% liked)

Rust

5980 readers
109 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

What is this title

you are viewing a single comment's thread
view the rest of the comments
[–] sugar_in_your_tea@sh.itjust.works 2 points 1 year ago* (last edited 1 year ago)

It's essentially a name change.

The two concepts are very similar, with the main difference being coroutines can receive arguments after invocation and generators generally cannot (here's a good explanation if you want to get more into it). Here's a write up about Rust's implementation, they're more than generators and from reading over it they may allow passing data in with each resume (I haven't played with them in Rust, but I've used the concept a lot in Lua, Python, and Go).

Then again, like the second link says, the boundaries of both can vary conversation to conversation. Python generators, for example, can also be used as coroutines (see this PEP).