Re:Rust 0.12.0 released
by untothebreach on Thursday October 09, 2014 @01:32PM
(#8433860)
oh ok, thanks. i knew what lifetimes were, but was confused by the 'elision.' Apparently I didn't connect 'elision' with 'elide.' So, new vocab word for today :)
What kind of cases do you still need to write explicit lifetimes?
Re:Rust 0.12.0 released
by steveklabnik on Thursday October 09, 2014 @05:30PM
(#8435106)
I actually haven't had to since elision was implemented, so I can't give you a good rule of thumb from experience. Here's an overview of how the rules applied to the standard library at the time they were implemented, which is where the percentage came from: https://gist.github.com/aturon/da49a6d00099fdb0e861
Re:Rust 0.12.0 released
by xKingfisher on Thursday October 09, 2014 @11:52PM
(#8436182)
The most common case I have run into is storing a reference inside another data structure.
We used to have a single inference rule for when you didn't need to write the annotation. With RFC 39[1], we added two more. These two extra inference rules removed 87% of the existing annotations, giving you this instead:
This is a pretty huge readability win.1: https://github.com/rust-lang/rfcs/blob/master/active/0039-li...