Edit docs

This commit is contained in:
Robert Hensing 2024-08-11 03:31:44 +02:00 committed by GitHub
parent 5878b1475f
commit 3cc2e2a0ac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4,10 +4,10 @@ issues: [10968]
prs: [11188] prs: [11188]
--- ---
Previously, integer overflow in the Nix language invoked C++ level signed overflow, which was undefined behaviour, but *probably* manifested as wrapping around on overflow. Previously, integer overflow in the Nix language invoked C++ level signed overflow, which was undefined behaviour, but *usually* manifested as wrapping around on overflow.
Since prior to the public release of Lix, Lix had C++ signed overflow defined to crash the process and nobody noticed this having accidentally removed overflow from the Nix language for three months until it was caught by fiddling around. Since prior to the public release of Lix, Lix had C++ signed overflow defined to crash the process and nobody noticed this having accidentally removed overflow from the Nix language for three months until it was caught by fiddling around.
Given the significant body of actual Nix code that has been evaluated by Lix in that time, it does not appear that nixpkgs or much of importance depends on integer overflow, so it is safe to turn into an error. Given the significant body of actual Nix code that has been evaluated by Lix in that time, it does not appear that nixpkgs or much of importance depends on integer overflow, so it appears safe to turn into an error.
Some other overflows were fixed: Some other overflows were fixed:
- `builtins.fromJSON` of values greater than the maximum representable value in a signed 64-bit integer will generate an error. - `builtins.fromJSON` of values greater than the maximum representable value in a signed 64-bit integer will generate an error.
@ -16,6 +16,6 @@ Some other overflows were fixed:
Integer overflow now looks like the following: Integer overflow now looks like the following:
``` ```
» nix eval --expr '9223372036854775807 + 1' $ nix eval --expr '9223372036854775807 + 1'
error: integer overflow in adding 9223372036854775807 + 1 error: integer overflow in adding 9223372036854775807 + 1
``` ```