diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/typst/src/introspection/counter.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/typst/src/introspection/counter.rs b/crates/typst/src/introspection/counter.rs index 2aefb68e..b9462e3d 100644 --- a/crates/typst/src/introspection/counter.rs +++ b/crates/typst/src/introspection/counter.rs @@ -685,14 +685,12 @@ impl CounterState { pub fn step(&mut self, level: NonZeroUsize, by: usize) { let level = level.get(); - if self.0.len() >= level { - self.0[level - 1] = self.0[level - 1].saturating_add(by); - self.0.truncate(level); - } - while self.0.len() < level { - self.0.push(1); + self.0.push(0); } + + self.0[level - 1] = self.0[level - 1].saturating_add(by); + self.0.truncate(level); } /// Get the first number of the state. |
