Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
std.fmt: Fix incorrect behavior with large floating point integers.
I consider this an interim workaround/hack until ziglang#1299 is finished. There is a bug in the original C implementation of the errol3 (and errol4) algorithm that can result in undefined behavior or an obviously incorrect result (leading ':' in the output) This change checks for those two problems and uses a slower fallback path if they occur. I can't guarantee that this will always produce the correct result, but since the workaround is only used if the original algorithm is guaranteed to fail, it should never turn a previously-correct result into an incorrect one. Fixes ziglang#11283
- Loading branch information