|
1 | 1 | #![doc = include_str!("./README.md")]
|
2 | 2 | #![doc = document_features::document_features!()]
|
| 3 | +use alloc::{slice, vec}; |
3 | 4 | use core::borrow::Borrow;
|
4 | 5 | use core::cmp::min;
|
| 6 | +use core::fmt::Debug; |
5 | 7 | use core::iter::FusedIterator;
|
6 | 8 | use core::ops::ControlFlow;
|
7 | 9 | use core::ops::{Deref, Index};
|
8 | 10 | use core::option;
|
9 |
| -use core::fmt::Debug; |
10 |
| -use std::hash::{DefaultHasher, Hash, Hasher as _}; |
11 | 11 | use core::slice::SliceIndex;
|
12 |
| -use alloc::{slice, vec}; |
| 12 | +use std::hash::{DefaultHasher, Hash, Hasher as _}; |
13 | 13 |
|
14 | 14 | #[cfg(feature = "serde")]
|
15 | 15 | use serde::{Deserialize, Serialize};
|
@@ -72,6 +72,7 @@ pub enum Action<T> {
|
72 | 72 | /// use std::mem::{discriminant, Discriminant};
|
73 | 73 | ///
|
74 | 74 | /// use crate::undo_2::{Commands, IndepStateKey, SetOrTransition, SetTransAction};
|
| 75 | +/// use crate::undo_2::SetTransAction::*; |
75 | 76 | ///
|
76 | 77 | /// #[derive(Copy, Clone, Debug)]
|
77 | 78 | /// struct State {
|
@@ -136,7 +137,7 @@ pub enum Action<T> {
|
136 | 137 | /// B,
|
137 | 138 | /// }
|
138 | 139 | ///
|
139 |
| -/// use SetOrTransition::*; |
| 140 | +/// use crate::undo_2::SetTransAction::*; |
140 | 141 | /// let mut commands = Commands::new();
|
141 | 142 | /// let mut state = State::new();
|
142 | 143 | ///
|
@@ -1480,9 +1481,10 @@ impl<T> Commands<T> {
|
1480 | 1481 | let i0 = i;
|
1481 | 1482 | for j in i0..end {
|
1482 | 1483 | if let CommandItem::Undo(count) = self.commands[j]
|
1483 |
| - && j - count - 1 < i { |
1484 |
| - i = self.remove_i(j - count - 1, i); |
1485 |
| - } |
| 1484 | + && j - count - 1 < i |
| 1485 | + { |
| 1486 | + i = self.remove_i(j - count - 1, i); |
| 1487 | + } |
1486 | 1488 | }
|
1487 | 1489 | i
|
1488 | 1490 | }
|
|
0 commit comments