Open 124C41p opened 4 months ago
We have a general need for fallible conversion traits but we are lacking the people to tackle this concurrently with the Bound
API overhaul, c.f. #1813 and #2782.
Opened #4041 to discuss fallible traits among other things.
The range of possible values of
chrono::DateTime
is much larger than that of Python'sdatetime
(which is limited by 1 <= year <= 9999), so there cannot be a one to one mapping. As a consequence, the functionchrono::DateTime::to_object()
panics for dates far in the future or far in the past. (tested with version 0.21.0)In most situations this is probably not an issue. In my personal use case however, I am deserializing data received over the network in an extension module, and hand the results over to a Python process. In this case, a malicious actor could crash my module by simply sending some date with year >= 10k.
Do you mind adding something like
chrono::DateTime::try_to_object()
which fails savely?