mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
Merge pull request #3824 from oow214/fix_itertools_count_repr
Fix itertools count repr
This commit is contained in:
@@ -17,7 +17,7 @@ mod decl {
|
||||
AsObject, Py, PyObjectRef, PyPayload, PyRef, PyResult, PyWeakRef, VirtualMachine,
|
||||
};
|
||||
use crossbeam_utils::atomic::AtomicCell;
|
||||
use num_traits::{Signed, ToPrimitive};
|
||||
use num_traits::{Signed, ToPrimitive, One};
|
||||
use std::fmt;
|
||||
|
||||
#[pyattr]
|
||||
@@ -220,10 +220,13 @@ mod decl {
|
||||
}
|
||||
|
||||
#[pymethod(magic)]
|
||||
fn repr(&self) -> PyResult<String> {
|
||||
let cur = self.cur.read();
|
||||
|
||||
Ok(format!("count({})", cur))
|
||||
fn repr(&self, vm: &VirtualMachine) -> PyResult<String> {
|
||||
let cur = format!("{}", self.cur.read().clone().repr(vm)?);
|
||||
let step = self.step.as_bigint();
|
||||
if step.is_one() {
|
||||
return Ok(format!("count({})", cur));
|
||||
}
|
||||
Ok(format!("count({}, {})", cur, step.to_string()))
|
||||
}
|
||||
}
|
||||
impl IterNextIterable for PyItertoolsCount {}
|
||||
|
||||
Reference in New Issue
Block a user