Commit Graph

88 Commits

Author SHA1 Message Date
Noah
76306b2260 Add half-float support for struct 2021-01-07 23:44:44 -06:00
Noah
108e1ef38b Rework pystruct, again 2021-01-07 23:44:44 -06:00
Noah
2a427728a6 Use a custom vtable for PyObjectRef 2020-11-21 00:33:05 -06:00
Noah
6d7eae98b8 Add iter, iternext slots & Allow deleting slot magic methods 2020-11-17 23:47:48 +09:00
Noah
7beb932563 Distinguish between to_index and to_index_opt 2020-11-06 11:11:06 -06:00
Noah
026f396e98 Use std::os::raw::c_* instead of libc::c_* for wasm compat 2020-10-26 12:14:00 -05:00
Noah
59169aa2ce Use a static type for struct.error 2020-10-26 12:13:52 -05:00
Noah
0f84bd4070 Update pystruct + array 2020-10-26 12:13:24 -05:00
Jeong YunWon
ecf1120bee Clean up static-type affected apis 2020-10-20 02:29:28 +09:00
Jeong YunWon
4add0220ae PyValue::class() returns ref 2020-10-20 02:29:20 +09:00
Jeong YunWon
34a2038e17 Use StaticType::static_class() rather than vm.class 2020-10-20 01:47:53 +09:00
Jeong YunWon
e823d95ce5 split vm::builtins::iter utility functions to vm::iterator 2020-10-13 15:42:11 +09:00
Jeong YunWon
9e6dfca9e9 Fix build with new builtins path 2020-10-11 21:16:16 +09:00
Kangzhi Shi
88f5466080 update memoryview eq 2020-10-10 17:01:00 +09:00
Kangzhi Shi
275b727e9d memoryview __setitem__ 2020-10-10 17:01:00 +09:00
Kangzhi Shi
e1ddbda4fc fix unittest test_array.test_buffer 2020-10-10 16:59:44 +09:00
Kangzhi Shi
499d99794c Implement Buffer Protocol 2020-10-10 16:57:19 +09:00
Jeong YunWon
ef01e887c9 Fix clippy error 2020-10-10 13:04:12 +09:00
Noah
ced4b3e361 Fix rustc hanging 2020-10-09 22:24:10 -05:00
Noah
11222fd16f Fix clippy error 2020-10-09 17:04:41 -05:00
Noah
acd0bf5434 Make the FromArgs derive less verbose 2020-10-01 17:42:07 -05:00
Noah
d8a73ead42 Make it unnecessary to import PyClassImpl for #[pymodule] 2020-09-30 11:33:22 -05:00
Jeong YunWon
59db19d1ea PyClass -> PyType 2020-09-26 07:32:38 +09:00
Jeong YunWon
5c81e7b044 Reuse empty tuple singleton 2020-09-26 02:59:33 +09:00
Jeong YunWon
f81ad04ce3 PyString -> PyStr 2020-09-26 00:20:02 +09:00
Noah
619f1a1de9 Make PyStructSequence a derive macro 2020-08-30 15:46:04 -05:00
Jeong YunWon
f8a5cc4b23 Remove type clone functions from vm.ctx
which misleads to clone types when we don't need.
2020-08-23 20:26:37 +09:00
Jeong YunWon
dded3ffc53 Remove redundant clone from new_class 2020-08-23 19:10:46 +09:00
Jeong YunWon
d422de6f00 Rework derive and rewrite pymodule.rs 2020-08-23 18:24:46 +09:00
Jeong YunWon
bd3d4cfdb2 earlier returning for error 2020-08-23 06:54:25 +09:00
Jeong YunWon
ab112a9adf exactly_one 2020-08-23 06:52:40 +09:00
Jeong YunWon
23c2c58140 Move out read-only flags of slots. 2020-08-21 09:47:02 +09:00
Jeong YunWon
ab37e455f3 BorrowValue for PyString 2020-08-09 14:14:55 +09:00
Jeong YunWon
a77e78d3e1 BorrowValue for bytes 2020-08-09 13:44:32 +09:00
Ben Lewis
3c5cd0d621 Code review changes. 2020-08-08 16:27:49 +12:00
Ben Lewis
386b899d82 Change error messages to match CPython's. 2020-08-08 12:52:16 +12:00
Ben Lewis
ae8d64fdd0 Fix several struct module tests. 2020-08-08 10:49:46 +12:00
Ben Lewis
7129e76d62 Implement iter_unpack 2020-08-08 08:50:40 +12:00
Ben Lewis
dc994e3c6f Accept array as byte like/buffer. 2020-08-08 08:50:40 +12:00
Ben Lewis
1fbeb80899 Implement pack_into/unpack_from in the struct module. 2020-08-08 08:50:40 +12:00
Noah
3c241cd91e Allow struct.pack to take a bytes spec 2020-07-14 21:24:41 -05:00
Aviv Palivoda
fb5862da91 Remove ThreadSafe trait 2020-05-16 13:58:10 +03:00
Aviv Palivoda
4ca4709d5a Mark PyStruct as ThreadSafe 2020-05-15 09:25:47 +03:00
Noah
aafbdd06b2 Allow struct.unpack to take a bytes 2020-04-29 11:58:19 -05:00
Jeong YunWon
06f8d0bb98 pyclass member support for #[pymodule] 2020-04-27 00:11:51 +09:00
Jeong YunWon
7cea2c3953 use #[pymodule] for stdlib struct 2020-04-27 00:11:51 +09:00
Aviv Palivoda
efb6f6a64c Implement pascal string packing 2020-03-14 17:07:38 +02:00
Aviv Palivoda
7925932459 bool packing check __bool__ 2020-03-14 16:33:13 +02:00
Aviv Palivoda
bbb799f2c7 Resize pack_string with padding 2020-03-14 16:25:02 +02:00
Aviv Palivoda
395fd6bfbe Integer packing check __index__ 2020-03-14 12:30:41 +02:00