The attached dart program fails: It seems -1 << 0 results in 4294967295 instead of -1. foo(a) => a << 0; main() { Expect.equals(-1, foo(-1)); } --- **Attachment:** [shl-by-0.dart](https://storage.googleapis.com/google-code-attachments/dart/issue-6627/comment-0/shl-by-0.dart) (60 Bytes)