Skip to content

Commit 75e46cc

Browse files
committed
Fix a deque size bookkeeping bug.
1 parent fd0750b commit 75e46cc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/lib/deque.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ fn create[T]() -> t[T] {
4747
ret _vec.init_fn[cell[T]](copy_op, nalloc);
4848
}
4949

50-
fn get[T](&vec[cell[T]] elts, uint i) -> T {
50+
fn get[T](vec[cell[T]] elts, uint i) -> T {
5151
alt (elts.(i)) {
5252
case (util.some[T](t)) { ret t; }
5353
case (_) { fail; }
@@ -100,6 +100,7 @@ fn create[T]() -> t[T] {
100100
let T t = get[T](elts, lo);
101101
elts.(lo) = util.none[T]();
102102
lo = (lo + 1u) % _vec.len[cell[T]](elts);
103+
nelts -= 1u;
103104
ret t;
104105
}
105106

@@ -112,6 +113,7 @@ fn create[T]() -> t[T] {
112113

113114
let T t = get[T](elts, hi);
114115
elts.(hi) = util.none[T]();
116+
nelts -= 1u;
115117
ret t;
116118
}
117119

0 commit comments

Comments
 (0)