]> Cypherpunks repositories - gostls13.git/commitdiff
spec: clarify that signed integers>=0 are permitted as shift counts
authornobishino <nobishii11@gmail.com>
Tue, 16 Mar 2021 19:49:13 +0000 (19:49 +0000)
committerEmmanuel Odeke <emmanuel@orijtech.com>
Tue, 16 Mar 2021 19:51:31 +0000 (19:51 +0000)
In Go1.13 and above, signed integers are permitted as shift counts as long as they are >=0.
However, the comments in the "Arithmetic operators" section says shift operators accept "unsigned integer" as of right operands. Replacing this with "integer>=0" resolves the misunderstanding that shift
operators permit only unsigned integers.

Reference: Go1.13 Release Notes: https://golang.org/doc/go1.13

Change-Id: Icd3c7734d539ab702590e992a618c9251c653c37
GitHub-Last-Rev: 4f263a48d3b19ca06a277c5fef78df55e9a92b10
GitHub-Pull-Request: golang/go#44664
Reviewed-on: https://go-review.googlesource.com/c/go/+/297249
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
Trust: Robert Griesemer <gri@golang.org>

doc/go_spec.html

index 2a1322fb0f0afff904de1be1ba89e726c0f5ca1d..39617cf524193817f5dda8da33e7dd465484c991 100644 (file)
@@ -1,6 +1,6 @@
 <!--{
        "Title": "The Go Programming Language Specification",
-       "Subtitle": "Version of Feb 24, 2021",
+       "Subtitle": "Version of Mar 16, 2021",
        "Path": "/ref/spec"
 }-->
 
@@ -3681,8 +3681,8 @@ The bitwise logical and shift operators apply to integers only.
 ^    bitwise XOR            integers
 &amp;^   bit clear (AND NOT)    integers
 
-&lt;&lt;   left shift             integer &lt;&lt; unsigned integer
-&gt;&gt;   right shift            integer &gt;&gt; unsigned integer
+&lt;&lt;   left shift             integer &lt;&lt; integer >= 0
+&gt;&gt;   right shift            integer &gt;&gt; integer >= 0
 </pre>