Почему Clojure не соответствует целочисленному переполнению? - PullRequest
0 голосов
/ 02 февраля 2019

Если я приведу большое число напрямую к int, он будет жаловаться на ошибку вне диапазона.

user=> (def x 4294967297)
user=> (int x)
Execution error (IllegalArgumentException) at user/eval1 (REPL:1).
Value out of range for int: 4294967297

Однако, когда я создаю массив int, он с радостью принимает это.

user=> (aget (int-array 1 x) 0)
1

Clojure 1.10.0

...