[rust-dev] "let mut" <-> "var"

Sean McArthur smcarthur at mozilla.com
Wed Jan 29 18:52:51 PST 2014


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 <kevin at sb.org> wrote:

> On Jan 29, 2014, at 6:43 PM, Brian Anderson <banderson at mozilla.com> 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
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140129/5bb7e666/attachment.html>


More information about the Rust-dev mailing list