Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
add filter.__reduce__
  • Loading branch information
HyunP-dev committed May 21, 2022
commit 312d85bcde3f79bb157d07944c6bd67d5da057a2
2 changes: 0 additions & 2 deletions Lib/test/test_builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -658,8 +658,6 @@ def badfunc():
self.assertEqual(list(filter(lambda x: x>=3, (1, 2, 3, 4))), [3, 4])
self.assertRaises(TypeError, list, filter(42, (1, 2)))

# TODO: RUSTPYTHON
@unittest.expectedFailure
def test_filter_pickle(self):
for proto in range(pickle.HIGHEST_PROTOCOL + 1):
f1 = filter(filter_char, "abcdeabcde")
Expand Down
7 changes: 6 additions & 1 deletion vm/src/builtins/filter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,12 @@ impl Constructor for PyFilter {
}

#[pyimpl(with(IterNext, Constructor), flags(BASETYPE))]
impl PyFilter {}
impl PyFilter {
#[pymethod(magic)]
fn reduce(&self, vm: &VirtualMachine) -> (PyTypeRef, (PyObjectRef, PyIter)) {
(vm.ctx.types.filter_type.clone(), (self.predicate.clone(), self.iterator.clone()))
}
}

impl IterNextIterable for PyFilter {}
impl IterNext for PyFilter {
Expand Down