Commit 7539c850 authored by Robert Griesemer's avatar Robert Griesemer

language re: conversion of left operand in shift operations

DELTA=5  (5 added, 0 deleted, 0 changed)
OCL=32484
CL=32617
parent 62718fb5
...@@ -9,6 +9,8 @@ Open issues: ...@@ -9,6 +9,8 @@ Open issues:
Todo's: Todo's:
[ ] need explicit language about the result type of operations
[ ] may want to have some examples for the types of shift operations
[ ] document illegality of package-external tuple assignments to structs [ ] document illegality of package-external tuple assignments to structs
w/ private fields: P.T(1, 2) illegal since same as P.T(a: 1, b: 2) for w/ private fields: P.T(1, 2) illegal since same as P.T(a: 1, b: 2) for
a T struct { a b int }. a T struct { a b int }.
...@@ -2440,6 +2442,9 @@ The operand types in binary operations must be compatible, with the following ex ...@@ -2440,6 +2442,9 @@ The operand types in binary operations must be compatible, with the following ex
ideal float, the other is converted to ideal float ideal float, the other is converted to ideal float
(relevant for <code>/</code> and <code>%</code>).</li> (relevant for <code>/</code> and <code>%</code>).</li>
<li>In shift operations, the above rules apply to the left operand of the shift as
if the shift operator and the right operand where not present.
<li>The right operand in a shift operation must be always be of unsigned integer type <li>The right operand in a shift operation must be always be of unsigned integer type
or an ideal number that can be safely converted into an unsigned integer type or an ideal number that can be safely converted into an unsigned integer type
(§Arithmetic operators).</li> (§Arithmetic operators).</li>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment