From d8b542db141156b4e43abd2658bddf56507b87fd Mon Sep 17 00:00:00 2001 From: OhBonsai Date: Sun, 22 Aug 2021 14:11:58 +0800 Subject: [PATCH 1/3] add deque bool --- Lib/test/test_deque.py | 8 ++++++++ vm/src/stdlib/collections.rs | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py index ad768222c5c..1816987348b 100644 --- a/Lib/test/test_deque.py +++ b/Lib/test/test_deque.py @@ -269,6 +269,14 @@ def test_getitem(self): self.assertRaises(IndexError, d.__getitem__, 0) self.assertRaises(IndexError, d.__getitem__, -1) + def test_bool(self): + d = deque('abc') + self.assertEqual(d, True) + + d = deque([]) + self.assertEqual(d, False) + + @unittest.skip("TODO: RUSTPYTHON hangs") def test_index(self): for n in 1, 2, 30, 40, 200: diff --git a/vm/src/stdlib/collections.rs b/vm/src/stdlib/collections.rs index c41cfd14276..bed7d659a7c 100644 --- a/vm/src/stdlib/collections.rs +++ b/vm/src/stdlib/collections.rs @@ -399,6 +399,11 @@ mod _collections { self.borrow_deque().len() } + #[pymethod(magic)] + fn bool(&self) -> bool { + self.borrow_deque().len() != 0 + } + #[pymethod(magic)] fn iadd( zelf: PyRef, From 4b6be1953e0f6b8ed704578e9fc06229f3902e9e Mon Sep 17 00:00:00 2001 From: OhBonsai Date: Sun, 22 Aug 2021 14:14:17 +0800 Subject: [PATCH 2/3] clean --- Lib/test/test_deque.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py index 1816987348b..fcf3d6200ab 100644 --- a/Lib/test/test_deque.py +++ b/Lib/test/test_deque.py @@ -276,7 +276,6 @@ def test_bool(self): d = deque([]) self.assertEqual(d, False) - @unittest.skip("TODO: RUSTPYTHON hangs") def test_index(self): for n in 1, 2, 30, 40, 200: From 4fb9562b0946170387979298b1ef4ea4d52a29f7 Mon Sep 17 00:00:00 2001 From: OhBonsai Date: Tue, 24 Aug 2021 10:14:45 +0800 Subject: [PATCH 3/3] clean code --- Lib/test/test_deque.py | 7 ------- vm/src/stdlib/collections.rs | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py index fcf3d6200ab..ad768222c5c 100644 --- a/Lib/test/test_deque.py +++ b/Lib/test/test_deque.py @@ -269,13 +269,6 @@ def test_getitem(self): self.assertRaises(IndexError, d.__getitem__, 0) self.assertRaises(IndexError, d.__getitem__, -1) - def test_bool(self): - d = deque('abc') - self.assertEqual(d, True) - - d = deque([]) - self.assertEqual(d, False) - @unittest.skip("TODO: RUSTPYTHON hangs") def test_index(self): for n in 1, 2, 30, 40, 200: diff --git a/vm/src/stdlib/collections.rs b/vm/src/stdlib/collections.rs index bed7d659a7c..39989c5c3fb 100644 --- a/vm/src/stdlib/collections.rs +++ b/vm/src/stdlib/collections.rs @@ -401,7 +401,7 @@ mod _collections { #[pymethod(magic)] fn bool(&self) -> bool { - self.borrow_deque().len() != 0 + !self.borrow_deque().is_empty() } #[pymethod(magic)]