diff options
| author | Robert Griesemer <gri@golang.org> | 2022-05-11 16:21:45 -0700 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2022-05-12 04:47:29 +0000 |
| commit | 2bea43b0e7f3e636ffc8239f9d3fccdd5d763c8b (patch) | |
| tree | f15218c76c803b57869ec7eb85f493801d747651 | |
| parent | c01feba15de402dce666e4f9bf14a06fc64aa97d (diff) | |
| download | go-2bea43b0e7f3e636ffc8239f9d3fccdd5d763c8b.tar.xz | |
spec: state that variable names must be unique in short var decls
Fixes #45652.
Change-Id: I5e1434480c12815369a6ce204f3729eb63139125
Reviewed-on: https://go-review.googlesource.com/c/go/+/405757
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
| -rw-r--r-- | doc/go_spec.html | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/doc/go_spec.html b/doc/go_spec.html index 069d33ba55..4f647cac10 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -2761,7 +2761,7 @@ It is shorthand for a regular <a href="#Variable_declarations">variable declarat with initializer expressions but no types: </p> -<pre class="grammar"> +<pre class="ebnf"> "var" IdentifierList = ExpressionList . </pre> @@ -2780,12 +2780,14 @@ variables provided they were originally declared earlier in the same block and at least one of the non-<a href="#Blank_identifier">blank</a> variables is new. As a consequence, redeclaration can only appear in a multi-variable short declaration. Redeclaration does not introduce a new variable; it just assigns a new value to the original. +The non-blank variable names on the left side of <code>:=</code> +must be <a href="#Uniqueness_of_identifiers">unique</a>. </p> <pre> field1, offset := nextField(str, 0) field2, offset := nextField(str, offset) // redeclares offset -a, a := 1, 2 // illegal: double declaration of a or no new variable if a was declared elsewhere +x, y, x := 1, 2, 3 // illegal: x repeated on left side of := </pre> <p> |
