Open swift-ci opened 5 years ago
This should be pretty easy to fix for someone interested in this aspect of the stdlib. It's mostly just a matter of replumbing `_parseASCII` to take the `radix` parameter as an `Int` instead of `Result`. This would actually be a nice performance optimization in some cases anyway.
Good starter bug.
Comment by Andreas Jönsson (JIRA)
If this one is still open I'd like to give it a try @stephentyrone, @theblixguy?
I haven’t found the time to address the review comment on my PR, but I’ll be doing that soon. Perhaps you can look for another StarterBug?
Comment by Andreas Jönsson (JIRA)
Sure thing! 🙂 And thanks for the quick reply.
Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 0 | |Component/s | Standard Library | |Labels | Bug, StarterBug | |Assignee | @theblixguy | |Priority | Medium | md5: 71036ce9352bad83dc05a0cfcdea3df7Issue Description:
The current implementation of
FixedWidthInteger.init?(_: radix: )
converts the radix to the receiver type. If that type has less than 6 bits of width, not all radix values are supported and a run error happens at the conversion.Theoretically, any width above zero should work if we go to a bignum implementation. I'm not suggesting we do that, but that workaround indicates we shouldn't return a
nil
from the initializer in such cases, because that would imply a user error and not a implementation error. I guess a fatal error is more appropriate.(BTW, my code was testing with a zero-width type, so there may be other problems.)