Fix issue 11600: to!BigInt(string) should validate input. #1731
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It's pretty hilarious to print the result of
to!BigInt("abracadabra")
, which is currently accepted by theBigInt
code.About the fix: I know the ddocs of
fromDecimalString
claims to returnfalse
upon invalid input, but this is not implemented, and I don't really like to changebiguintFromDecimal
's function signature just so I can implement what the ddocs claim. So I'm opting to just throw when an invalid digit is found rather than go back to the bad ole C way of returning an error status that has to be checked by every function up the call stack. We have an exception system for a reason, after all.