Fix MSVC C4146 warning for unsigned types in from_chars

The from_chars template is instantiated with unsigned types (e.g.
uint64_t for Content-Length), where unary minus on `result` triggers
MSVC warning C4146, failing the 32-bit build under warnings-as-errors.
Use `T(0) - result`, which yields the identical two's-complement value
without the warning.
This commit is contained in:
yhirose
2026-07-18 20:08:33 -04:00
parent 3adc525cec
commit ef2beaea34
+1 -1
View File
@@ -696,7 +696,7 @@ inline from_chars_result<T> from_chars(const char *first, const char *last,
return {first, std::errc::invalid_argument}; return {first, std::errc::invalid_argument};
} }
value = negative ? -result : result; value = negative ? T(0) - result : result;
return {p, std::errc{}}; return {p, std::errc{}};
} }