]> Cypherpunks repositories - gostls13.git/commitdiff
slight refinement of select: evaluation is top to bottom, as in switches.
authorRob Pike <r@golang.org>
Wed, 16 Sep 2009 18:49:35 +0000 (11:49 -0700)
committerRob Pike <r@golang.org>
Wed, 16 Sep 2009 18:49:35 +0000 (11:49 -0700)
DELTA=9  (2 added, 4 deleted, 3 changed)
OCL=34690
CL=34692

doc/go_spec.html

index 7509c0dd0dfcdc8ae378e6ed0bff7a93b3f82ca3..68a1ea73a8cd6435c348898e41d3d616cf90495a 100644 (file)
@@ -3609,9 +3609,10 @@ RecvExpr =  [ Expression ( "=" | ":=" ) ] "&lt;-" Expression .
 
 <p>
 For all the send and receive expressions in the "select"
-statement, the channel expression is evaluated.  Any expressions
-that appear on the right hand side of send expressions are also
-evaluated. If any of the resulting channels can proceed, one is
+statement, the channel expressions are evaluated, along with
+any expressions that appear on the right hand side of send expressions,
+in top-to-bottom order.
+If any of the resulting operations can proceed, one is
 chosen and the corresponding communication and statements are
 evaluated.  Otherwise, if there is a default case, that executes;
 if not, the statement blocks until one of the communications can
@@ -3654,10 +3655,6 @@ for {  // send random sequence of bits to c
 }
 </pre>
 
-<font color=red>
-TODO: Make semantics more precise.
-</font>
-
 
 <h3 id="Return_statements">Return statements</h3>
 
@@ -4489,6 +4486,7 @@ The following minimal alignment properties are guaranteed:
 <ul>
        <li><font color=red>Implementation does not honor the restriction on goto statements and targets (no intervening declarations).</font></li>
        <li><font color=red>Gccgo does not implement the blank identifier.</font></li>
+       <li><font color=red>Method expressions are not implemented.</font></li>
 </ul>
 
 </div>