diff --git a/vm/src/stdlib/itertools.rs b/vm/src/stdlib/itertools.rs index 38d6166dd..dabbb220c 100644 --- a/vm/src/stdlib/itertools.rs +++ b/vm/src/stdlib/itertools.rs @@ -556,20 +556,19 @@ impl PyItertoolsAccumulate { #[pymethod(name = "__new__")] #[allow(clippy::new_ret_no_self)] fn new( - _cls: PyClassRef, + cls: PyClassRef, iterable: PyObjectRef, binop: OptionalArg, vm: &VirtualMachine, - ) -> PyResult { + ) -> PyResult> { let iter = get_iter(vm, &iterable)?; - Ok(PyItertoolsAccumulate { + PyItertoolsAccumulate { iterable: iter, binop: binop.unwrap_or_else(|| vm.get_none()), acc_value: RefCell::from(Option::None), } - .into_ref(vm) - .into_object()) + .into_ref_with_type(vm, cls) } #[pymethod(name = "__next__")]