mozilla/rust — Issue #1570: bit shift operators take odd types
Author: nikomatsakis
Created: 2012-01-19 22:09:21+00:00
State: open

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?