The borrow checker within · baby steps
There is another place where the borrow checker’s rules fall short: phased initialization. Rust today follows the functional programming language style of requiring values for all the fields of a struct when it is created. Mostly this is fine, but sometimes you have structs where you want to initi...
Hasnain says:
“You might wonder about the impact of these changes on Rust’s complexity. Certainly they grow the set of things the type system can express. But in my mind they, like NLL before them, fall into that category of changes that will actually make using Rust feel simpler overall.
To see why, put yourself in the shoes of a user today who has written any one of the “obviously correct” programs we’ve seen in this post”