File tree Expand file tree Collapse file tree 1 file changed +5
-8
lines changed Expand file tree Collapse file tree 1 file changed +5
-8
lines changed Original file line number Diff line number Diff line change @@ -98,17 +98,14 @@ impl<T: Copy> Deque<T> {
98
98
99
99
/// Grow is only called on full elts, so nelts is also len(elts), unlike
100
100
/// elsewhere.
101
- fn grow < T : Copy > ( nelts : uint , lo : uint , elts : & [ Option < T > ] ) -> ~[ Option < T > ] {
101
+ fn grow < T > ( nelts : uint , lo : uint , elts : & mut [ Option < T > ] ) -> ~[ Option < T > ] {
102
102
assert nelts == elts. len ( ) ;
103
103
let mut rv = ~[ ] ;
104
104
105
- let mut i = 0 u;
106
- let nalloc = uint:: next_power_of_two ( nelts + 1 u) ;
107
- while i < nalloc {
108
- if i < nelts {
109
- rv. push ( elts[ ( lo + i) % nelts] ) ;
110
- } else { rv. push ( None ) ; }
111
- i += 1 u;
105
+ do vec:: grow_fn ( & mut rv, nelts + 1 ) |i| {
106
+ let mut element = None ;
107
+ element <-> elts[ ( lo + i) % nelts] ;
108
+ element
112
109
}
113
110
114
111
rv
You can’t perform that action at this time.
0 commit comments