Commit Graph

6267 Commits

Author SHA1 Message Date
Jeong Yunwon
828c28ebb8 Replace vm.extract_elements with TryFromBorrowedObject 2022-04-17 06:09:45 +09:00
Jeong Yunwon
fac28934f6 Refactor extract_elements_with 2022-04-17 06:09:45 +09:00
Jeong Yunwon
60e0e5f95d Refactor try_value_with 2022-04-17 06:09:45 +09:00
Jeong Yunwon
c2f9498ca6 Split vm.rs into segments 2022-04-17 06:09:45 +09:00
Jeong Yunwon
d7daf42756 atexit hold its features itself 2022-04-17 04:10:10 +09:00
Jeong YunWon
f817b7f124 Merge pull request #3621 from youknowone/update-asdl
Fix update_asdl
2022-04-17 02:47:34 +09:00
Jeong Yunwon
4f4e87729b Fix ast/asdl_rs.py 2022-04-17 02:24:41 +09:00
Jeong Yunwon
be9aaf71a6 Move _struct module to stdlib 2022-04-17 02:00:07 +09:00
Jeong Yunwon
c64b0442a1 split buffer formats to vm/src/buffer.rs 2022-04-17 01:49:52 +09:00
Jeong YunWon
5553558261 Merge pull request #3606 from youknowone/pyobject
split pyobject.rs to multiple files
2022-04-17 00:53:19 +09:00
tkmikan
3f8aed1c86 Add __format__ type check in f-string 2022-04-16 01:04:35 +09:00
Jeong YunWon
cc8153ffda Merge pull request #3384 from OddBloke/oddbloke/fstat
stdlib/os.rs: update wrong-type exception text for __fspath__
2022-04-16 00:53:32 +09:00
Jeong Yunwon
ff4cf69667 Hide PyLease, PyThreadingConstraint from crate root 2022-04-16 00:49:06 +09:00
Jeong Yunwon
2c92174b17 move PyAttributes to pytype.rs 2022-04-16 00:49:06 +09:00
Jeong Yunwon
86a8831124 vm::funciton::arithmetic 2022-04-16 00:49:05 +09:00
Jeong Yunwon
475d04c67e IntoPyRef to vm::function 2022-04-16 00:46:37 +09:00
Jeong Yunwon
a5b36e1937 split pyobject.rs 2022-04-16 00:45:19 +09:00
Jeong Yunwon
f5fa66205e use entry to fill attributes 2022-04-16 00:38:12 +09:00
Daniel Watkins
f6bf48a8f1 builtins/pytype.rs: set __qualname__ in slot_new
This matches CPython's behaviour, and means that setting `__name__`
won't modify `__qualname__`.

(This is done in type_new_set_ht_name in typeobject.c in CPython.)
2022-04-16 00:38:12 +09:00
Daniel Watkins
f971a0058f builtins/pytype.rs: set __module__ in type() calls 2022-04-16 00:38:12 +09:00
Daniel Watkins
9192b77922 builtins/pytype.rs: don't permit null chars in type names
This is presumably a hard requirement for CPython, but even though we
don't use null-terminated strings, we should retain consistency with
their API.
2022-04-16 00:37:45 +09:00
Daniel Watkins
98079878cb stdlib/os.rs: update wrong-type exception text for __fspath__
In CPython this error message is constructed by path_converter in
posixmodule.c[0].

[0] https://github.com/python/cpython/blob/main/Modules/posixmodule.c#L1260
2022-04-16 00:10:30 +09:00
Jeong Yunwon
6357a1acbe clean up imports and useless allow attributes 2022-04-15 23:58:20 +09:00
Jeong Yunwon
15b4205d1a use unsigned_abs() 2022-04-15 20:24:55 +09:00
Jeong YunWon
10a2b0c6c2 Merge pull request #3605 from youknowone/pycontext-new
PyContext::new don't create a new context
2022-04-14 04:45:00 +09:00
Jeong YunWon
6c908698a3 Merge pull request #3604 from youknowone/arg-sequence
rename non-protocol PySequence to ArgSequence to avoid confusion
2022-04-14 03:59:28 +09:00
Jeong Yunwon
df1aa5add7 PyContext::new don't create a new context 2022-04-14 03:58:45 +09:00
Jeong Yunwon
3629ce5cd7 rename non-protocol PySequence to ArgSequence to avoid confusion 2022-04-14 03:26:38 +09:00
Jeong YunWon
8484a91ed3 Fix reflection operator priority for subtypes 2022-04-14 02:38:54 +09:00
Jeong YunWon
e1ac70a217 Merge pull request #3601 from simbajisu/super_thisclass
add thisclass to the original typ
2022-04-10 15:12:09 +09:00
Jeong YunWon
cf6a83e9d5 Merge pull request #3600 from hwi-ya/llliiisssttt
modify empty tuple (genericalias repr)
2022-04-10 15:11:41 +09:00
Jeong YunWon
15b3548d48 Update vm/src/builtins/genericalias.rs 2022-04-10 14:23:17 +09:00
hwi-ya
a88171ccba resolve duplicated code 2022-04-10 14:15:41 +09:00
simbajisu
bd265c0bd7 apply suggested change
Co-authored-by: Jeong YunWon <69878+youknowone@users.noreply.github.com>
2022-04-10 14:04:16 +09:00
jeon-yongjun
669d1ca38a Add Reduce method in reverse_iter (#3597) 2022-04-10 13:32:34 +09:00
simbajisu
75ffbe32bd print super_thisclass 2022-04-10 13:27:14 +09:00
hwi-ya
263aec1532 When I run list[()], I modify it so that list[()] comes out 2022-04-10 12:43:38 +09:00
Jeong Yunwon
1584cefff3 Fix clippy warnings 2022-04-08 17:57:08 +09:00
d1t2
3037508b0a Fix test_dict.test_fromkeys()
Based on CPython implementation, dictobject.c, construct the new
object with type and call corresponding setitem method.
2022-03-30 09:22:24 +08:00
Narawit Rakket
0f4d6cd66c fix: correct deque repr result and fix hanging problem 2022-03-21 00:53:12 +07:00
Narawit Rakket
9851643ec2 refactor: add repr helper function for the collections 2022-03-20 23:11:06 +07:00
Jake Armendariz
0dba8701e8 Merged marshaling module 2022-03-16 18:54:47 -07:00
Jake Armendariz
aadaf18219 Marshaling sets, frozen sets, bytearr, and changes to testing 2022-03-16 18:09:33 -07:00
d1t2
e02a312f7e Fix bool un/marshaling
Test: import marshal; assert marshal.loads(marshal.dumps(True)) == True
Test: import marshal; assert marshal.loads(marshal.dumps(False))== False
2022-03-13 21:13:33 +08:00
d1t2
63b91a42c3 Fix wrong complex repr() for -0.0
Test: assert repr(complex('-0.0')) == '(-0+0j)'
2022-03-13 13:50:03 +08:00
d1t2
b7b05b3bcd Fix wrong complex repr() for nan as img part
If the image part of a complex number is nan, the repr string won't prefix "+" to it.

Test: assert repr(complex(1, -float('nan'))) == '(1+nanj)'
2022-03-13 12:35:54 +08:00
Jeong YunWon
21c4ea5544 Fix trunc error message format 2022-03-13 03:56:48 +09:00
Jeong YunWon
def4a2b91a Merge pull request #3316 from qingshi163/sequence-protocol
Impl PySequence Protocol
2022-03-12 17:19:59 +09:00
Kangzhi Shi
a3655d3e28 fix bytearray delitem not raise buffer error 2022-03-12 16:12:35 +09:00
Kangzhi Shi
9d443bbbdc fix range raise overflow error for isize 2022-03-12 16:12:35 +09:00