Repository navigation
Commit dfd1eed
committed
Preserve Windows CRT time conversion errors
Return CRT errno failures from the Windows calendar helpers and translate them to Python OSError. Adapt the datetime caller while retaining its Unix behavior. Use an exclusive signed float upper bound so float(2**63) still raises OverflowError before reaching the CRT.
Keep Windows negative-time FILETIME fallback and time64 ABI changes outside this Python 3.14 extraction. Existing datetime local-error coverage is retained and a UTC error control is added for the observed rejected timestamp -86400.
Hosted native diagnostics prove CPython 3.14.7 raises OSError(errno 22) where the baseline raises OverflowError. Windows-GNU host_env check and warnings-denied Clippy pass. Selected canonical datetime and complete time/datetime snippet Linux controls pass, with six existing baseline canonical skips. Fixed native Windows verification remains pending CI.
AI assistance covered source comparison, implementation, regression design, and automated verification. No manual validation is claimed.
Assisted-by: Codex:model-version-unavailable1 parent 1fce7d4 commit dfd1eed
4 files changed
Lines changed: 29 additions & 9 deletions
File tree
- crates
- host_env/src
- stdlib/src
- vm/src/stdlib
- extra_tests/snippets
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
| 149 | + | |
150 | 150 | | |
151 | 151 | | |
152 | | - | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
153 | 156 | | |
154 | 157 | | |
155 | 158 | | |
156 | 159 | | |
157 | | - | |
| 160 | + | |
158 | 161 | | |
159 | 162 | | |
160 | | - | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
161 | 167 | | |
162 | 168 | | |
163 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
| |||
1825 | 1827 | | |
1826 | 1828 | | |
1827 | 1829 | | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
1828 | 1833 | | |
1829 | 1834 | | |
1830 | 1835 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
914 | 914 | | |
915 | 915 | | |
916 | 916 | | |
917 | | - | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
918 | 920 | | |
919 | 921 | | |
920 | 922 | | |
| |||
1248 | 1250 | | |
1249 | 1251 | | |
1250 | 1252 | | |
| 1253 | + | |
1251 | 1254 | | |
1252 | 1255 | | |
1253 | 1256 | | |
| |||
1281 | 1284 | | |
1282 | 1285 | | |
1283 | 1286 | | |
1284 | | - | |
1285 | | - | |
| 1287 | + | |
| 1288 | + | |
1286 | 1289 | | |
1287 | 1290 | | |
1288 | 1291 | | |
1289 | 1292 | | |
1290 | 1293 | | |
1291 | 1294 | | |
1292 | 1295 | | |
1293 | | - | |
1294 | | - | |
| 1296 | + | |
| 1297 | + | |
1295 | 1298 | | |
1296 | 1299 | | |
1297 | 1300 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3949 | 3949 | | |
3950 | 3950 | | |
3951 | 3951 | | |
| 3952 | + | |
| 3953 | + | |
| 3954 | + | |
| 3955 | + | |
| 3956 | + | |
| 3957 | + | |
3952 | 3958 | | |
3953 | 3959 | | |
3954 | 3960 | | |
| |||
0 commit comments