]> Cypherpunks repositories - gostls13.git/commitdiff
spec: slightly rephrased wording on parsing ambiguity for composite literals
authorRobert Griesemer <gri@golang.org>
Thu, 27 Feb 2014 16:57:30 +0000 (08:57 -0800)
committerRobert Griesemer <gri@golang.org>
Thu, 27 Feb 2014 16:57:30 +0000 (08:57 -0800)
Fixes #4482.

LGTM=r
R=r, iant, rsc, ken
CC=golang-codereviews
https://golang.org/cl/69020045

doc/go_spec.html

index 11b72257193d920624fde0f9fc301a76a8eba2c9..59b30739c64a74ba1af5965c8b9b6288b4cc96c5 100644 (file)
@@ -1,6 +1,6 @@
 <!--{
        "Title": "The Go Programming Language Specification",
-       "Subtitle": "Version of Feb 25, 2014",
+       "Subtitle": "Version of Feb 27, 2014",
        "Path": "/ref/spec"
 }-->
 
@@ -2267,8 +2267,6 @@ Similarly, elements that are addresses of composite literals may elide
 the <code>&amp;T</code> when the element type is <code>*T</code>.
 </p>
 
-
-
 <pre>
 [...]Point{{1.5, -3.5}, {0, 0}}   // same as [...]Point{Point{1.5, -3.5}, Point{0, 0}}
 [][]int{{1, 2, 3}, {4, 5}}        // same as [][]int{[]int{1, 2, 3}, []int{4, 5}}
@@ -2278,13 +2276,13 @@ the <code>&amp;T</code> when the element type is <code>*T</code>.
 
 <p>
 A parsing ambiguity arises when a composite literal using the
-TypeName form of the LiteralType appears between the
-<a href="#Keywords">keyword</a> and the opening brace of the block of an
-"if", "for", or "switch" statement, because the braces surrounding
-the expressions in the literal are confused with those introducing
-the block of statements. To resolve the ambiguity in this rare case,
-the composite literal must appear within
-parentheses.
+TypeName form of the LiteralType appears as an operand between the
+<a href="#Keywords">keyword</a> and the opening brace of the block
+of an "if", "for", or "switch" statement, and the composite literal
+is not enclosed in parentheses, square brackets, or curly braces.
+In this rare case, the opening brace of the literal is erroneously parsed
+as the one introducing the block of statements. To resolve the ambiguity,
+the composite literal must appear within parentheses.
 </p>
 
 <pre>