Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Encode: add bound check for uint64 > math.Int64 #785

Merged
merged 1 commit into from Jun 1, 2022
Merged

Commits on Jun 1, 2022

  1. Encode: add bound check for uint64 > math.Int64

    As brought up on #782, there is an asymetry between numbers go-toml can encode
    and decode. Specifically, unsigned numbers larger than `math.Int64` could be
    encoded but not decoded.
    
    We considered two options: allow decoding of those numbers, or prevent those
    numbers to be decoded.
    
    Ultimately we decided to narrow the range of numbers to be encoded. The TOML
    specification only requires parsers to support at least the 64 bits integer
    range. Allowing larger numbers would create non-standard TOML documents, which
    may not be readable (at best) by other implementations. It is a safer default to
    generate documents valid by default. People who wish to deal with larger numbers
    can provide a custom type implementing `encoding.TextMarshaler`.
    
    Refs #781
    pelletier committed Jun 1, 2022
    Copy the full SHA
    0da4333 View commit details
    Browse the repository at this point in the history