@@ -105,21 +105,21 @@ where
105
105
106
106
let & mut Permutations { ref vals, ref state } = self ;
107
107
108
- match state {
109
- & PermutationState :: StartUnknownLen { .. } => panic ! ( "unexpected iterator state" ) ,
110
- & PermutationState :: OngoingUnknownLen { k, min_n } => {
108
+ match * state {
109
+ PermutationState :: StartUnknownLen { .. } => panic ! ( "unexpected iterator state" ) ,
110
+ PermutationState :: OngoingUnknownLen { k, min_n } => {
111
111
let latest_idx = min_n - 1 ;
112
112
let indices = ( 0 ..( k - 1 ) ) . chain ( once ( latest_idx) ) ;
113
113
114
114
Some ( indices. map ( |i| vals[ i] . clone ( ) ) . collect ( ) )
115
115
}
116
- & PermutationState :: Complete ( CompleteState :: Start { .. } ) => None ,
117
- & PermutationState :: Complete ( CompleteState :: Ongoing { ref indices, ref cycles } ) => {
116
+ PermutationState :: Complete ( CompleteState :: Start { .. } ) => None ,
117
+ PermutationState :: Complete ( CompleteState :: Ongoing { ref indices, ref cycles } ) => {
118
118
let k = cycles. len ( ) ;
119
119
120
120
Some ( indices[ 0 ..k] . iter ( ) . map ( |& i| vals[ i] . clone ( ) ) . collect ( ) )
121
121
} ,
122
- & PermutationState :: Empty => None
122
+ PermutationState :: Empty => None
123
123
}
124
124
}
125
125
@@ -175,11 +175,11 @@ where
175
175
fn advance ( & mut self ) {
176
176
let & mut Permutations { ref mut vals, ref mut state } = self ;
177
177
178
- * state = match state {
179
- & mut PermutationState :: StartUnknownLen { k } => {
178
+ * state = match * state {
179
+ PermutationState :: StartUnknownLen { k } => {
180
180
PermutationState :: OngoingUnknownLen { k, min_n : k }
181
181
}
182
- & mut PermutationState :: OngoingUnknownLen { k, min_n } => {
182
+ PermutationState :: OngoingUnknownLen { k, min_n } => {
183
183
if vals. get_next ( ) {
184
184
PermutationState :: OngoingUnknownLen { k, min_n : min_n + 1 }
185
185
} else {
@@ -195,20 +195,20 @@ where
195
195
PermutationState :: Complete ( complete_state)
196
196
}
197
197
}
198
- & mut PermutationState :: Complete ( ref mut state) => {
198
+ PermutationState :: Complete ( ref mut state) => {
199
199
state. advance ( ) ;
200
200
201
201
return ;
202
202
}
203
- & mut PermutationState :: Empty => { return ; }
203
+ PermutationState :: Empty => { return ; }
204
204
} ;
205
205
}
206
206
}
207
207
208
208
impl CompleteState {
209
209
fn advance ( & mut self ) {
210
- * self = match self {
211
- & mut CompleteState :: Start { n, k } => {
210
+ * self = match * self {
211
+ CompleteState :: Start { n, k } => {
212
212
let indices = ( 0 ..n) . collect ( ) ;
213
213
let cycles = ( ( n - k) ..n) . rev ( ) . collect ( ) ;
214
214
@@ -217,7 +217,7 @@ impl CompleteState {
217
217
indices
218
218
}
219
219
} ,
220
- & mut CompleteState :: Ongoing { ref mut indices, ref mut cycles } => {
220
+ CompleteState :: Ongoing { ref mut indices, ref mut cycles } => {
221
221
let n = indices. len ( ) ;
222
222
let k = cycles. len ( ) ;
223
223
@@ -244,8 +244,8 @@ impl CompleteState {
244
244
fn remaining ( & self ) -> CompleteStateRemaining {
245
245
use self :: CompleteStateRemaining :: { Known , Overflow } ;
246
246
247
- match self {
248
- & CompleteState :: Start { n, k } => {
247
+ match * self {
248
+ CompleteState :: Start { n, k } => {
249
249
if n < k {
250
250
return Known ( 0 ) ;
251
251
}
@@ -259,7 +259,7 @@ impl CompleteState {
259
259
None => Overflow
260
260
}
261
261
}
262
- & CompleteState :: Ongoing { ref indices, ref cycles } => {
262
+ CompleteState :: Ongoing { ref indices, ref cycles } => {
263
263
let mut count: usize = 0 ;
264
264
265
265
for ( i, & c) in cycles. iter ( ) . enumerate ( ) {
0 commit comments