Thank you for sharing your experience of trying out Rust!
For optional struct fields, there's derive-new which gives you various T::new() constructors. Derive is borrowed from Haskell, similar to Project Lombok for Java.
There's an order: FnOnce < FnMut < Fn. A Fn* can be used in the place of ones to its left.
FnOnce < FnMut < Fn
Wow. Thanks this is so far the most simple and straightforward explanation I got and now it makes more sense. I guess I would have to update the post to reflect what I learned about functions.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.