37
Common Rust Lifetime Misconceptions (2020)
(github.com)
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Credits
That's a very nicecly written article.
Just a quick question, isn't point 8 outdated (misconctption: “Rust borrow checker does adanced liftime analysis”) due to the introduction NLL (no lexical lifetime) in Rust 2018?
There are still obvious things the BC cannot get. For example:
Note that when you change
num
to take&self
instead, this works out (you also need to markfoo
as mutable, of course).It's a toy example. In that case, the solution is to assign the expression to a variable to compute its result upfront.