48 Commits

Author SHA1 Message Date
Noah
6d7eae98b8 Add iter, iternext slots & Allow deleting slot magic methods 2020-11-17 23:47:48 +09:00
Jeong YunWon
9e6dfca9e9 Fix build with new builtins path 2020-10-11 21:16:16 +09:00
Jeong YunWon
4da1b62c18 PyFuncArgs -> FuncArgs
which does not represent a single python object
2020-10-11 09:38:07 +09:00
Jeong YunWon
6e60915f46 more lease_class 2020-10-11 00:37:08 +09:00
Kangzhi Shi
cf3572385c Fix more to pass unittest 2020-10-10 17:00:57 +09:00
Kangzhi Shi
499d99794c Implement Buffer Protocol 2020-10-10 16:57:19 +09:00
Noah
dbbdd75b31 Rename rustpython_common::{cell -> lock} 2020-09-26 23:39:10 -05:00
Noah
3d3889f0df Add a getattro slot 2020-09-25 19:46:42 -05:00
Jeong YunWon
59db19d1ea PyClass -> PyType 2020-09-26 07:32:38 +09:00
Jeong YunWon
958fe7b194 remove cmp clone 2020-09-26 02:51:50 +09:00
Jeong YunWon
c76126f951 tp_cmp optimization 2020-09-24 07:50:11 +09:00
Jeong YunWon
991b968294 tp_call prevent clone 2020-09-24 07:50:11 +09:00
Jeong YunWon
d9b1ae296b tp_del 2020-09-24 07:50:11 +09:00
Jeong YunWon
e1462e12a1 no clone for slot hash 2020-09-24 05:33:38 +09:00
Jeong YunWon
1cf5eea856 update_slot placed in PyClassRef 2020-09-24 05:04:21 +09:00
Jeong YunWon
09ebd19857 optimize tp_hash 2020-09-24 01:55:05 +09:00
Jeong YunWon
5e69141884 slot call use trait function as its signature 2020-09-24 01:50:43 +09:00
Jeong YunWon
6f230ff7d7 optimize descr_get 2020-09-24 01:42:28 +09:00
Jeong YunWon
d59f9c3c4e tp_call optimization 2020-09-24 01:40:53 +09:00
Jeong YunWon
7582c9f891 Unhashable trait 2020-09-24 01:39:46 +09:00
Noah
6188911703 Merge pull request #2207 from RustPython/coolreader18/cmp-trait
Add a tp_cmp slot for richcompare
2020-09-22 16:46:15 -05:00
Jeong YunWon
81f4f95b91 impl SlotCall for PyClass 2020-09-22 07:03:03 +09:00
Noah
8bf197cd81 Optimize eval_ord 2020-09-21 10:55:16 -05:00
Noah
2f03db9872 Fix some silly errors 2020-09-21 10:55:15 -05:00
Noah
fc456ac526 Finish rest of Comparable impls 2020-09-21 10:55:15 -05:00
Noah
a5ec8dd75d WIP switch to Comparable over __eq__ methods 2020-09-21 10:55:15 -05:00
Noah
981e9e9200 Add a cmp slot & trait 2020-09-21 10:55:15 -05:00
Jeong YunWon
0f7ed21eda remove vm.get_none and clean up its use cases 2020-09-19 10:20:20 +09:00
Noah
ecd1a37742 Add a hash slot 2020-09-07 23:32:35 -05:00
Noah
3e6bd59275 Apply review suggestions and clean up a bit 2020-09-04 00:22:32 -05:00
Noah
79c0efc491 Make class.slots completely immutable 2020-08-30 15:46:04 -05:00
Noah
4e80bfd158 Merge pull request #2141 from RustPython/coolreader18/pynativefunc-rework
Just use normal Box for PyNativeFunc
2020-08-22 22:17:37 -05:00
Noah
4d8ffc70ad Just use normal Box for PyNativeFunc 2020-08-22 16:18:26 -05:00
Jeong YunWon
04ea191d7c PyClass::tp_name() and repr 2020-08-23 06:06:43 +09:00
Jeong YunWon
2c1eff49d6 PyClass::extend_class cannot be called with bare py_clas! 2020-08-21 09:49:03 +09:00
Jeong YunWon
f35cae0d3e object init path checker 2020-08-21 09:47:02 +09:00
Jeong YunWon
23c2c58140 Move out read-only flags of slots. 2020-08-21 09:47:02 +09:00
Noah
a6bd802f97 Fix problems with #2106 2020-08-20 11:45:27 -05:00
Noah
5099255cd0 Revert "Trying revert for regression" 2020-08-20 11:41:21 -05:00
Jeong YunWon
8bfc218b2d Revert "Merge pull request #2106 from RustPython/coolreader18/unittest-tests"
This reverts commit 96926daf6f, reversing
changes made to 230f91582f.
2020-08-20 04:18:21 +09:00
Noah
cc4ae0831c Make HAVE_DICT a type flag 2020-08-12 16:04:13 -05:00
Aviv Palivoda
16887d3968 Make PyClass ThreadSafe 2020-04-28 20:38:45 +03:00
Noah
e2d7ab30aa Don't allocate for PyNativeFunc when it's just a fn pointer 2020-04-02 13:57:08 -05:00
Jeong YunWon
23381b9937 compatiibility for CPytthon descr_check 2020-02-06 03:42:01 +09:00
Jeong YunWon
7fd92fcc71 Py_TPFLAGS_BASETYPE 2020-01-30 16:32:09 +09:00
Jeong YunWon
869645203d cpython compatible type_new 2020-01-29 21:30:33 +09:00
Jeong YunWon
1ecc8228d9 PySlots::flags 2020-01-29 21:30:33 +09:00
Jeong YunWon
80f3da92ee vm/src/slots.rs 2020-01-26 14:05:05 +09:00