Jeong YunWon
93ef12e553
Merge pull request #3401 from coolreader18/stdlib-arrayiter
...
Don't create an intermediate map for rustpython_stdlib::stdlib_inits
2021-11-02 18:12:28 +09:00
Jeong YunWon
d78347e7ea
Merge pull request #3390 from OddBloke/oddbloke/format
...
cformat.rs: fixes to get two test_format.py tests passing
2021-11-02 18:10:08 +09:00
Jeong YunWon
7b99d13f60
Merge pull request #3050 from RustPython/upd-deps
...
Run cargo update + upgrade
2021-11-02 17:58:02 +09:00
Noa
a3723462ce
Don't create an intermediate map for rustpython_stdlib::stdlib_inits
2021-11-01 22:37:32 -05:00
Daniel Watkins
655bfbc6cf
cformat.rs: align exception text with CPython
...
test_format.py doesn't _fail_ if the text is different, but it does emit
a warning: this fixes those warnings.
2021-11-01 21:34:51 -04:00
Daniel Watkins
4d2747e4b8
cformat.rs: reject %c args > 255 when byte formatting
...
This matches CPython's behaviour. Thanks to @DimitrisJim for the
improved implementation here.
2021-11-01 21:34:51 -04:00
Daniel Watkins
1ed3a6ca81
cformat.rs: emit correct "not all arguments" errors for byte formatting
...
Without this, the code would accept `b"eggs" % b"ham"` and `b"eggs" %
bytearray(b"ham")` because it would detect bytes and bytearray as
mappings (which _are_ permitted to have leftover, unprocessed
arguments).
2021-11-01 21:34:51 -04:00
Daniel Watkins
8594a656c7
cformat.rs: s/string/bytes/ in byte formatting error messages
2021-11-01 21:34:51 -04:00
Daniel Watkins
3e19da8331
cformat.rs: implement b'%a'/b'%r' correctly
...
Unlike strings, b'%a' and b'%r' are equivalent, and they match the '%a'
behaviour of strings, not '%r'.
Thanks to @youknowone for improving this implementation.
2021-11-01 21:34:51 -04:00
Daniel Watkins
dcc0973b03
cformat.rs: handle bytearrays when formatting b'%c'
2021-11-01 21:34:51 -04:00
Daniel Watkins
380653b6cb
cformat.rs: implement %a correctly, using builtins::ascii
...
The repr() of Unicode strings is the Unicode string, so the previous
code was incorrect for that case (at least).
2021-11-01 21:34:51 -04:00
Daniel Watkins
916f39c2b5
cformat.rs: address memory allocation error with %*s / %.*f
...
The previous code assumed that, after parsing was complete, both the
padding and the precision integers would always be positive: it
therefore cast them to usize unconditionally. This meant that when a
negative integer was encountered, it would underflow and attempt to
generate a padded string of around usize::MAX, or a float representation
of that precision: unsurprisingly, these fail to allocate.
For simple format strings (e.g. `%-3s`), this works fine: `-` is
detected as a separate token during parsing, so only the positive
integer (3) is passed through.
However, `%*s` expresses "take the first value as the padding integer,
and the second as the string to be padded" (`"%*s" % (-3, ...)` is
analogous to the previous example). In this codepath, the parsing does
not handle the padding integer, so it can't strip the leading `-`: the
padding integer is negative. A negative precision can also be given in
similar fashion, with `"%.*f" % (-3, ...)`.
N.B. This commit does not cause the code to produce the correct _output_
for negative padding integers or precisions provided this way, it
addresses only the crash.
2021-11-01 21:32:48 -04:00
snowapril
ac7bb4bdf4
Add monotonic, perf_counter, get_clock_info for windows
...
Signed-off-by: snowapril <sinjihng@gmail.com >
2021-11-01 15:20:55 +09:00
Daniel Watkins
34950fdd2a
stdlib/posix.rs: fix mknod for MacOS
...
mknod at isn't available in their libc.
2021-10-31 09:10:35 -04:00
Daniel Watkins
156cf6bc86
stdlib/posix.rs: implement mknod
2021-10-31 09:04:56 -04:00
Jim Fasarakis-Hilliard
1442dd69b4
Merge pull request #3393 from devnexen/netbsd_build_fix
...
netbsd build fix proposal
2021-10-31 13:35:59 +02:00
Jim Fasarakis-Hilliard
fe1e375a1f
Merge pull request #3392 from deantvv/os-error-str
...
Implement __str__ for OSError
2021-10-31 12:19:23 +02:00
David Carlier
f56514d61b
netbsd build fix proposal
2021-10-31 08:41:14 +00:00
Dean Li
d46f5ba7ab
Implement __str__ for OSError
...
In CPython, __str__ and __repr__ for OSError show different results.
This PR try to match this behavior but without the part after the
message (in following example is "'123' -> '456'").
```
In : exc.__repr__()
Out: "FileNotFoundError(2, 'No such file or directory')"
In : exc.__str__()
Out: "[Errno 2] No such file or directory: '123' -> '456'"
In : exc.args
Out: (2, 'No such file or directory')
```
2021-10-31 09:24:18 +08:00
Noa
358ce09b5c
Run cargo upgrade
2021-10-30 19:42:35 -05:00
Jeong YunWon
859744236e
Merge pull request #3391 from deantvv/os-error-refactor
...
Refactor OSError
2021-10-30 22:40:10 +09:00
Dean Li
a59556ad25
Refactor OSError
...
Implement `raw_os_error_to_exc_type` to reduce duplication of errno to
exception type.
2021-10-30 17:05:54 +08:00
Jeong YunWon
2ac05aba66
Merge pull request #3381 from DimitrisJim/time_mod
...
Time mod additions
2021-10-30 15:42:10 +09:00
Jeong YunWon
abd41b54b1
Merge pull request #3383 from DimitrisJim/silence_wasi_warnings
...
Fix warnings for wasi check.
2021-10-30 15:35:35 +09:00
Daniel Watkins
1ea93a59d5
stdlib/io.rs: align negative-fd-from-opener exception with CPython
2021-10-28 15:05:55 -04:00
jfh
c6ac24c2f2
Clean up cfgs, handle 32bit timespec creation, skip tests for windows.
2021-10-28 21:42:40 +03:00
jfh
a3771518de
Fix warnings for wasi check.
2021-10-27 21:06:48 +03:00
Jeong YunWon
35e56efa65
Merge pull request #3366 from zetwhite/dict_richcmp
...
Implements Comparable for PyDictKeys, PyDictItems
2021-10-28 00:41:14 +09:00
Jeong YunWon
f9bb87ee84
ViewSetOps::cmp
2021-10-27 23:51:11 +09:00
jfh
ee77f3c332
Add monotonic_ns, perf_counter, perf_counter_ns.
2021-10-27 11:54:58 +03:00
jfh
1817fd6565
Add get_clock_info.
2021-10-27 10:36:10 +03:00
jfh
cab44a2ac3
Add clock_gettime, clock_settime, clock_getres.
2021-10-26 20:06:09 +03:00
Jeong YunWon
7ad7465827
Use PyIterReturn result-like tools
2021-10-27 00:14:59 +09:00
Jeong YunWon
2dea5f2039
use ResultLike for PyIterReturn
2021-10-26 23:10:10 +09:00
snowapril
bda42ac73c
fix miswork on TypeVar arguments
...
Signed-off-by: snowapril <sinjihng@gmail.com >
2021-10-26 10:15:10 +09:00
snowapril
33de69a4dc
Implement mapping protocol for GenericAlias
...
Signed-off-by: snowapril <sinjihng@gmail.com >
2021-10-26 10:15:10 +09:00
Jeong YunWon
c502037a8b
Merge pull request #3363 from deantvv/os-env-anyos
...
os: fix test_putenv for all os
2021-10-26 01:54:39 +09:00
Dean Li
6ec380369a
os: fix test_putenv for all os
2021-10-25 19:40:32 +08:00
jfh
ddeacbf0ce
Add CLOCK_ constants.
2021-10-25 13:40:44 +03:00
Jeong YunWon
5f6c342c4a
Merge pull request #3367 from DimitrisJim/length_hint_opt
...
vm.length_hint into vm.length_hint_opt
2021-10-24 23:36:49 +09:00
Jim Fasarakis-Hilliard
690ac7060b
Merge pull request #3369 from deantvv/posix-rtld-constants
...
posix: add rtld constants
2021-10-24 13:53:06 +03:00
Dean Li
91256a4ec6
posix: add rtld constants
2021-10-24 17:53:49 +08:00
jfh
611e755599
Fix some uncaught clippy warnings.
2021-10-24 12:23:02 +03:00
jfh
4123e5eabc
vm.length_hint into vm.length_hint_opt
2021-10-24 12:08:21 +03:00
zetwhite
a3fed90fc2
Implements Comparable for PyDictKeys, PyDictItems
2021-10-24 12:26:46 +09:00
Jeong YunWon
7f0ba0c176
Merge pull request #3364 from moreal/relocate-object-repr
...
Relocate `vm.to_repr` to `object.repr`
2021-10-24 01:14:56 +09:00
ChJR
e139364a60
Relocate vm.issubclass to obj.is_subclass
2021-10-24 01:05:32 +09:00
Moreal
bc05b98ca6
Relocate vm.to_repr to object.repr
2021-10-23 21:16:28 +09:00
Jeong YunWon
1047cb573d
Update result-like to 0.4
2021-10-23 02:49:59 +09:00
Jim Fasarakis-Hilliard
54d5966895
Merge pull request #3360 from moreal/remove-py-module-macro
...
Remove `py_module!` macro
2021-10-22 17:12:05 +03:00