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>
<!--{
"Title": "The Go Programming Language Specification",
- "Subtitle": "Version of Feb 24, 2021",
+ "Subtitle": "Version of Mar 16, 2021",
"Path": "/ref/spec"
}-->
^ bitwise XOR integers
&^ bit clear (AND NOT) integers
-<< left shift integer << unsigned integer
->> right shift integer >> unsigned integer
+<< left shift integer << integer >= 0
+>> right shift integer >> integer >= 0
</pre>