tunsignedinc.nim 422 B

1234567891011121314151617181920212223242526272829
  1. block: # bug #2427
  2. var x = 0'u8
  3. dec x # OverflowError
  4. x -= 1 # OverflowError
  5. x = x - 1 # No error
  6. doAssert(x == 253'u8)
  7. block:
  8. var x = 130'u8
  9. x += 130'u8
  10. doAssert(x == 4'u8)
  11. block:
  12. var x = 40000'u16
  13. x = x + 40000'u16
  14. doAssert(x == 14464'u16)
  15. block:
  16. var x = 4000000000'u32
  17. x = x + 4000000000'u32
  18. doAssert(x == 3705032704'u32)
  19. block:
  20. var x = 123'u16
  21. x -= 125
  22. doAssert(x == 65534'u16)