1
0
mirror of https://github.com/golang/go synced 2024-11-11 20:50:23 -07:00

spec: clarify that signed integers>=0 are permitted as shift counts

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: 4f263a48d3
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>
This commit is contained in:
nobishino 2021-03-16 19:49:13 +00:00 committed by Emmanuel Odeke
parent d206ca5cac
commit 13a0f7b502

View 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>