@@ -46,6 +46,11 @@ impl<T> Deque<T> {
46
46
fn peek_front ( & self ) -> & self /T { get ( self . elts , self . lo ) }
47
47
fn peek_back ( & self ) -> & self /T { get ( self . elts , self . hi - 1 u) }
48
48
49
+ fn get ( & self , i : int ) -> & self /T {
50
+ let idx = ( self . lo + ( i as uint ) ) % self . elts . len ( ) ;
51
+ get ( self . elts , idx)
52
+ }
53
+
49
54
fn pop_front ( & mut self ) -> T {
50
55
let mut result = self . elts [ self . lo ] . swap_unwrap ( ) ;
51
56
self . lo = ( self . lo + 1 u) % self . elts . len ( ) ;
@@ -89,11 +94,6 @@ impl<T: Copy> Deque<T> {
89
94
self . hi = ( self . hi + 1 u) % self . elts . len ( ) ;
90
95
self . nelts += 1 u;
91
96
}
92
-
93
- fn get ( & self , i : int ) -> T {
94
- let idx = ( self . lo + ( i as uint ) ) % self . elts . len ( ) ;
95
- * get ( self . elts , idx)
96
- }
97
97
}
98
98
99
99
/// Grow is only called on full elts, so nelts is also len(elts), unlike
@@ -161,10 +161,10 @@ mod tests {
161
161
log ( debug, d. get ( 1 ) ) ;
162
162
log ( debug, d. get ( 2 ) ) ;
163
163
log ( debug, d. get ( 3 ) ) ;
164
- assert d. get ( 0 ) == 1 ;
165
- assert d. get ( 1 ) == 2 ;
166
- assert d. get ( 2 ) == 3 ;
167
- assert d. get ( 3 ) == 4 ;
164
+ assert * d. get ( 0 ) == 1 ;
165
+ assert * d. get ( 1 ) == 2 ;
166
+ assert * d. get ( 2 ) == 3 ;
167
+ assert * d. get ( 3 ) == 4 ;
168
168
}
169
169
170
170
#[ test]
@@ -197,10 +197,10 @@ mod tests {
197
197
assert deq. len ( ) == 3 ;
198
198
deq. add_front ( a) ;
199
199
assert deq. len ( ) == 4 ;
200
- assert deq. get ( 0 ) == a;
201
- assert deq. get ( 1 ) == b;
202
- assert deq. get ( 2 ) == c;
203
- assert deq. get ( 3 ) == d;
200
+ assert * deq. get ( 0 ) == a;
201
+ assert * deq. get ( 1 ) == b;
202
+ assert * deq. get ( 2 ) == c;
203
+ assert * deq. get ( 3 ) == d;
204
204
}
205
205
206
206
fn test_parameterized < T : Copy Eq Durable > ( a : T , b : T , c : T , d : T ) {
@@ -227,10 +227,10 @@ mod tests {
227
227
assert deq. len ( ) == 3 ;
228
228
deq. add_front ( a) ;
229
229
assert deq. len ( ) == 4 ;
230
- assert deq. get ( 0 ) == a;
231
- assert deq. get ( 1 ) == b;
232
- assert deq. get ( 2 ) == c;
233
- assert deq. get ( 3 ) == d;
230
+ assert * deq. get ( 0 ) == a;
231
+ assert * deq. get ( 1 ) == b;
232
+ assert * deq. get ( 2 ) == c;
233
+ assert * deq. get ( 3 ) == d;
234
234
}
235
235
236
236
#[ deriving_eq]
0 commit comments