rust-lang / rustlings

:crab: Small exercises to get you used to reading and writing Rust code!
https://rustlings.cool
MIT License
54.01k stars 10.15k forks source link

WIP: feat: Add closures exercises #2099

Open junderw opened 2 months ago

junderw commented 2 months ago

Closes #1746

This is just something to work off of as a start.

I was thinking that maybe 2 would show various syntax errors when writing closures. Maybe we want to mention that non-capturing closures coerce to fn pointers here.

3 could be about capturing and using the move keyword to get fine grained control over capturing. This should also mention lifetimes, so when a closure captures outside state, it holds on to a reference in general. This might need to be split up into multiple lessons.

4 could be about how usage of captured state dictates which Fn traits the closure can implement.

I'm thinking once we flesh things out and spread things apart it should be about 5-6 lessons in the chapter.

I forfeit all copyright to the works in the PR so anyone can take over if I become unresponsive/busy.

I should be around though. Please feel free to make a pull request towards my fork if anyone has suggestions pre-merge.

Thanks