From: Rob Pike Date: Thu, 16 Apr 2009 03:51:17 +0000 (-0700) Subject: tweak grammar and associated prose to permit things like x.y in range clauses. X-Git-Tag: weekly.2009-11-06~1821 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b340879ce363738e629339e5a2053ab10545ffcc;p=gostls13.git tweak grammar and associated prose to permit things like x.y in range clauses. R=rsc DELTA=5 (3 added, 0 deleted, 2 changed) OCL=27536 CL=27540 --- diff --git a/doc/go_spec.html b/doc/go_spec.html index 9d8d2b4e01..e788050b1c 100644 --- a/doc/go_spec.html +++ b/doc/go_spec.html @@ -3452,7 +3452,7 @@ of iteration variables - and then executes the block.

-RangeClause = IdentifierList ( "=" | ":=" ) "range" Expression .
+RangeClause = ExpressionList ( "=" | ":=" ) "range" Expression .
 

@@ -3460,7 +3460,10 @@ The type of the right-hand expression in the "range" clause must be an array, slice, string or map, or a pointer to an array, slice, string or map; or it may be a channel. Except for channels, -the identifier list must contain one or two identifiers denoting the +the identifier list must contain one or two expressions +(as in assignments, these must be a +variable, pointer indirection, field selector, or index expression) +denoting the iteration variables. On each iteration, the first variable is set to the string, array or slice index or map key, and the second variable, if present, is set to the corresponding