@@ -105,21 +105,21 @@ where
105105
106106 let & mut Permutations { ref vals, ref state } = self ;
107107
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 } => {
111111 let latest_idx = min_n - 1 ;
112112 let indices = ( 0 ..( k - 1 ) ) . chain ( once ( latest_idx) ) ;
113113
114114 Some ( indices. map ( |i| vals[ i] . clone ( ) ) . collect ( ) )
115115 }
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 } ) => {
118118 let k = cycles. len ( ) ;
119119
120120 Some ( indices[ 0 ..k] . iter ( ) . map ( |& i| vals[ i] . clone ( ) ) . collect ( ) )
121121 } ,
122- & PermutationState :: Empty => None
122+ PermutationState :: Empty => None
123123 }
124124 }
125125
@@ -175,11 +175,11 @@ where
175175 fn advance ( & mut self ) {
176176 let & mut Permutations { ref mut vals, ref mut state } = self ;
177177
178- * state = match state {
179- & mut PermutationState :: StartUnknownLen { k } => {
178+ * state = match * state {
179+ PermutationState :: StartUnknownLen { k } => {
180180 PermutationState :: OngoingUnknownLen { k, min_n : k }
181181 }
182- & mut PermutationState :: OngoingUnknownLen { k, min_n } => {
182+ PermutationState :: OngoingUnknownLen { k, min_n } => {
183183 if vals. get_next ( ) {
184184 PermutationState :: OngoingUnknownLen { k, min_n : min_n + 1 }
185185 } else {
@@ -195,20 +195,20 @@ where
195195 PermutationState :: Complete ( complete_state)
196196 }
197197 }
198- & mut PermutationState :: Complete ( ref mut state) => {
198+ PermutationState :: Complete ( ref mut state) => {
199199 state. advance ( ) ;
200200
201201 return ;
202202 }
203- & mut PermutationState :: Empty => { return ; }
203+ PermutationState :: Empty => { return ; }
204204 } ;
205205 }
206206}
207207
208208impl CompleteState {
209209 fn advance ( & mut self ) {
210- * self = match self {
211- & mut CompleteState :: Start { n, k } => {
210+ * self = match * self {
211+ CompleteState :: Start { n, k } => {
212212 let indices = ( 0 ..n) . collect ( ) ;
213213 let cycles = ( ( n - k) ..n) . rev ( ) . collect ( ) ;
214214
@@ -217,7 +217,7 @@ impl CompleteState {
217217 indices
218218 }
219219 } ,
220- & mut CompleteState :: Ongoing { ref mut indices, ref mut cycles } => {
220+ CompleteState :: Ongoing { ref mut indices, ref mut cycles } => {
221221 let n = indices. len ( ) ;
222222 let k = cycles. len ( ) ;
223223
@@ -244,8 +244,8 @@ impl CompleteState {
244244 fn remaining ( & self ) -> CompleteStateRemaining {
245245 use self :: CompleteStateRemaining :: { Known , Overflow } ;
246246
247- match self {
248- & CompleteState :: Start { n, k } => {
247+ match * self {
248+ CompleteState :: Start { n, k } => {
249249 if n < k {
250250 return Known ( 0 ) ;
251251 }
@@ -259,7 +259,7 @@ impl CompleteState {
259259 None => Overflow
260260 }
261261 }
262- & CompleteState :: Ongoing { ref indices, ref cycles } => {
262+ CompleteState :: Ongoing { ref indices, ref cycles } => {
263263 let mut count: usize = 0 ;
264264
265265 for ( i, & c) in cycles. iter ( ) . enumerate ( ) {
0 commit comments