Part of the nice thing about `let mut` is that it requires you to opt-in to mutability, making it a conscious choice.
Having `let` and `var` would make Rust be like ES6: we all look at `let` and say "why bother". For Rust, I imagine many would get into the habit of using `var` over `let` because it's easier, and as code samples show up using it, newcomers would default to using `var`. On Wed, Jan 29, 2014 at 6:50 PM, Kevin Ballard <[email protected]> wrote: > On Jan 29, 2014, at 6:43 PM, Brian Anderson <[email protected]> wrote: > > > On 01/29/2014 06:35 PM, Patrick Walton wrote: > >> On 1/29/14 6:34 PM, Samuel Williams wrote: > >>> Perhaps this has been considered already, but when I'm reading rust > code > >>> "let mut" just seems to stick out all over the place. Why not add a > >>> "var" keyword that does the same thing? I think there are lots of good > >>> and bad reasons to do this or not do it, but I just wanted to propose > >>> the idea and see what other people are thinking. > >> > >> `let` takes a pattern. `mut` is a modifier on variables in a pattern. > It is reasonable to write `let (x, mut y) = ...`, `let (mut x, y) = ...`, > `let (mut x, mut y) = ...`, and so forth. > >> > >> Having a special "var" syntax would defeat this orthogonality. > > > > `var` could potentially just be special-case sugar for `let mut`. > > To what end? Users still need to know about `mut` for all the other uses > of patterns. This would reserve a new keyword and appear to duplicate > functionality for no gain. > > -Kevin > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev > >
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
