It doesn't make much sense to me that in the expression x >> y (resp. x << y) both x and y have to be the same types. After all, it's not like a u32 value as 2^32 bits!
I think y should always be u8 (or perhaps uint if we want to be nice, much as we allow int in array lookups). Actually, does x >> -3 do something sensible, or is -3 just treated as a real big unsigned value?
It doesn't make much sense to me that in the expression
x >> y(resp.x << y) bothxandyhave to be the same types. After all, it's not like a u32 value as 2^32 bits!I think
yshould always beu8(or perhapsuintif we want to be nice, much as we allow int in array lookups). Actually, doesx >> -3do something sensible, or is-3just treated as a real big unsigned value?