The current situation is pretty bad: 2.11/Dotty: ```scala scala> 1 << 33L res0: Long = 8589934592 scala> val x = 1 x: Int = 1 scala> x << 33L res1: Int = 0 ``` 2.12 (since https://github.com/scala/scala/pull/4238): ```scala scala> 1 << 33L res0: Int = 2 scala> val x = 1 x: Int = 1 scala> x << 33L res1: Int = 2 ``` See also the discussion at https://gitter.im/scala/contributors?at=598b4b3eee5c9a4c5fa61568 where @ichoran proposed getting rid of `Int#<<(x: Long)` since it can be so easily misused.