The "doubles" compliance test built its 1e308 literal as a std::string
sized to 312 bytes with an explicit trailing '\0' at index 311, relying
on the old NUL-as-EOF lexer behavior removed earlier in this branch: with
that removed, the NUL is ordinary (invalid) trailing data instead of
being silently swallowed, so json::parse() correctly rejected it with
parse_error.101 - breaking CI across every compiler/platform, since this
one nativejson-benchmark TEST_CASE is exercised by every test job.
No padding is needed at all: json::parse(const std::string&) already
uses the string's own size(), not a NUL terminator. Drop the trailing
byte and shrink the string by one to match (index 310 - the new last
index - is where ']' now goes), fixing this the same way the other
pre-existing tests in this branch that depended on the same bug were
already fixed.
Signed-off-by: Niels Lohmann <niels.lohmann@gmail.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4RQ1Ahan5YAGbnAQGjZTY