Commit Graph

5361 Commits

Author SHA1 Message Date
Noa
0494472c0e Don't define object.__class_getitem__ 2021-08-21 16:15:58 -05:00
Noa
95a947d7e3 __class_getitem__ isn't a special method 2021-08-21 16:11:58 -05:00
Noa
4f0feef92f Merge pull request #2633 from fanninpm/update-typing
Update typing to CPython 3.8
2021-08-21 15:00:44 -05:00
sobolevn
5f0cddee81 Fixes typos in vm/ 2021-08-21 17:09:48 +03:00
Jeong YunWon
7868070295 Merge pull request #2896 from whjpji/support_unicode_array
Support unicode array type.
2021-08-21 22:26:18 +09:00
Frank King
e652ae8fc0 Support unicode array type. 2021-08-21 20:18:05 +08:00
Myunghoon Park
48437d0b93 adjust dict reverse iterator next to new dict entries structure 2021-08-21 21:15:37 +09:00
voidSatisfaction
e3f48bea95 Add math.dist function and enabled its tests (#2920)
Add math.dist function and enable its tests
2021-08-21 12:28:49 +03:00
Lee Dogeon
216b597155 Introduce __text_signature__ property 2021-08-21 02:03:39 +09:00
Jeong YunWon
1e7af98765 Merge pull request #2911 from Snowapril/fix-reversed-iter
Implement methods for `PyReverseSequenceIterator`
2021-08-19 20:54:44 +09:00
jfh
52149d0e70 Add remaining methods to sequence iterator. 2021-08-19 13:46:14 +03:00
snowapril
aa82a34b4c iter: remove PyStrReverseIterator
This commit removes `PyStrReverseIterator` and its traits for using
general `PyReverseSequenceIterator` for `PyStr` type.

In previous rustpython, `PyStrReverseIterator` type registered in
`TypeZoo`, even it had no methods(e.g. `length_hint`, `reduce`, `setstate`)

Therefore, by removing `PyStrReverseIterator`, `PyStr` enable to use
`PySequenceReverseIterator`.

Signed-off-by: snowapril <sinjihng@gmail.com>
2021-08-19 19:09:23 +09:00
snowapril
0623db2e18 iter: impl methods for PyReverseSequenceIterator
This commit implements `length_hint`, `reduce`, `setstate`, `next` for
`PyReverseSequenceIterator`.

In previous rustpython, it did not conduct methods well for
general object.

Signed-off-by: snowapril <sinjihng@gmail.com>
2021-08-19 19:09:23 +09:00
Padraic Fanning
48de03506c Implement "__class_getitem__" (barely working) 2021-08-18 20:08:18 -04:00
Padraic Fanning
3921ea405c Make __class_getitem__ always a class method
c.f. lines 2695-2725 of typeobject.c in CPython source
2021-08-18 20:08:18 -04:00
Noa
79794019c7 Further clarify pop_back using iterator adaptors 2021-08-18 15:25:35 -05:00
Jim Fasarakis-Hilliard
5ad023535f Merge pull request #2909 from youknowone/dict-pop
remove double-get from DictDataType::pop_back
2021-08-18 22:00:40 +03:00
Snowapril
4632972de4 Implement missing Iterator & ReverseIterator and its methods (#2906)
Implement missing methods of string iterators.
2021-08-18 21:23:03 +03:00
Jeong YunWon
b58e11f1f4 remove double-get from DictDataType::pop_back 2021-08-19 01:41:22 +09:00
Noa
e277acc747 Merge pull request #2902 from eldpswp99/dict-remain-order-after-delete
make dict remain order after delete
2021-08-17 15:53:55 -05:00
eldpswp99
564eb2991e resolving deadlock and redundant lookup, grammatic mistakes 2021-08-18 02:28:58 +09:00
Jim Fasarakis-Hilliard
fe4c3a5460 Merge branch 'master' into reversed_iter_type 2021-08-17 17:12:34 +03:00
eldpswp99
fca7b41744 optimize popitem using nentries which implies next insertion index 2021-08-17 21:24:06 +09:00
eldpswp99
ce99057c81 make dict delete remains order 2021-08-17 20:41:37 +09:00
Jeong YunWon
7e3be9163d Merge pull request #2860 from youknowone/try-from-int
TryFromBorrowedObject for int types
2021-08-17 17:12:56 +09:00
jfh
ca6ab792f0 Add reversed iterator type. 2021-08-17 05:29:49 +03:00
eldpswp99
4e9f9ff129 change Dict Entries type Vec<DictEntry> to Vec<Option<DictEntry>> 2021-08-16 18:46:49 +09:00
Kim Dong In
1e41a0bb56 apply cargo fmt 2021-08-16 17:16:47 +09:00
Dong In Kim
405fc685bd Update vm/src/stdlib/math.rs
Co-authored-by: Jeong YunWon <youknowone@users.noreply.github.com>

Co-authored-by: Jeong YunWon <youknowone@users.noreply.github.com>
2021-08-16 17:11:47 +09:00
Kim Dong In
6fa88ab05a Fix failed test pow in test_math
add two conditions to raise ValueError for input values
case 1: NaN, when both input values are finite, and base is negative and exponent is non-integer
case 2: divde by zero, when base is 0 exponent is negative value
2021-08-16 16:45:45 +09:00
Jeong YunWon
9ce8ec8a0f Merge pull request #2884 from youknowone/slot-wrapper
add_slot_wrappers must be called up to once
2021-08-16 15:35:46 +09:00
jfh
d23c7e9432 Allow enumerate as base class. 2021-08-16 07:27:45 +03:00
voidSatisfaction
67ede59c32 Add math.prod function and enable its tests 2021-08-15 23:20:28 +09:00
Jim Fasarakis-Hilliard
a4dce8068f Merge pull request #2887 from DimitrisJim/reverse_deque_iterator
Add reverse deque iterator.
2021-08-14 23:06:05 +03:00
jfh
8978e8ccda Add reverse deque iterator. 2021-08-14 22:07:41 +03:00
Gyuseok Jung
b8c0c8cc65 add time.time_ns() function 2021-08-15 00:07:05 +09:00
Jeong YunWon
7d53c65bfb Merge pull request #2885 from Snowapril/rename-time-module
Rename time_module.rs to time.rs
2021-08-14 21:59:43 +09:00
Snowapril
7cc2a5431f Fix frozenset copy to return self (#2883)
Fix frozenset copy to return zelf if called on frozenset instance
2021-08-14 15:56:22 +03:00
snowapril
5049611a4e rename time_module.rs to time.rs
This commit resolve issue #2882.
* rename time_module.rs to time.rs

Signed-off-by: snowapril <sinjihng@gmail.com>
2021-08-14 20:46:26 +09:00
Jeong YunWon
4c9fa5a521 add_slot_wrappers must be called up to once 2021-08-14 17:57:02 +09:00
Jeong YunWon
5ff0e4e5de TryFromBorrowedObject for ints 2021-08-14 16:48:56 +09:00
Jeong YunWon
9d99ea9376 Merge pull request #2879 from moreal/bugfix/unnecessary-slot-overwrite
Remove unnecessary slot wrapper addition
2021-08-14 16:14:39 +09:00
Jeong YunWon
62bff17dcb TryFromBorrowedObject for byteslike 2021-08-14 13:39:06 +09:00
Jeong YunWon
4d4e39af20 Rename PyBytesLike, PyRwBytesLike, BufOrStr to Arg-prefixed proper names 2021-08-14 13:39:06 +09:00
Jeong YunWon
3ed817f1c8 impl TryFromBorrowedObject for PyBytes 2021-08-14 13:39:06 +09:00
Jeong YunWon
f6de106e13 PyBytesInner::try_from_borrowed_object 2021-08-14 13:39:06 +09:00
Jeong YunWon
e594090629 BufferProtocol -> AsBuffer 2021-08-14 13:39:06 +09:00
Jeong YunWon
888b3822b7 Give a sole module for buffer protocol 2021-08-14 13:39:06 +09:00
Jeong YunWon
93cf687d15 TryFromBorrowedObjcet for PyBuffer 2021-08-14 13:39:06 +09:00
Jeong YunWon
ee09ef2bd2 TryFromBorrowedObject 2021-08-14 13:39:06 +09:00