aboutsummaryrefslogtreecommitdiff
path: root/src/lib/deque.rs
diff options
context:
space:
mode:
authorRoy Frostig <[email protected]>2010-08-10 11:40:33 -0700
committerRoy Frostig <[email protected]>2010-08-10 11:40:33 -0700
commit75e46cc4d0fbd8f1a1c4676931119a858fafeacf (patch)
tree01e5ebe1a0a64fafaa56548d20ca790f712fd666 /src/lib/deque.rs
parentGet object's captured typarams when querying for an object method's typarams ... (diff)
downloadrust-75e46cc4d0fbd8f1a1c4676931119a858fafeacf.tar.xz
rust-75e46cc4d0fbd8f1a1c4676931119a858fafeacf.zip
Fix a deque size bookkeeping bug.
Diffstat (limited to 'src/lib/deque.rs')
-rw-r--r--src/lib/deque.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/deque.rs b/src/lib/deque.rs
index bf7acb53..3f2a81a4 100644
--- a/src/lib/deque.rs
+++ b/src/lib/deque.rs
@@ -47,7 +47,7 @@ fn create[T]() -> t[T] {
ret _vec.init_fn[cell[T]](copy_op, nalloc);
}
- fn get[T](&vec[cell[T]] elts, uint i) -> T {
+ fn get[T](vec[cell[T]] elts, uint i) -> T {
alt (elts.(i)) {
case (util.some[T](t)) { ret t; }
case (_) { fail; }
@@ -100,6 +100,7 @@ fn create[T]() -> t[T] {
let T t = get[T](elts, lo);
elts.(lo) = util.none[T]();
lo = (lo + 1u) % _vec.len[cell[T]](elts);
+ nelts -= 1u;
ret t;
}
@@ -112,6 +113,7 @@ fn create[T]() -> t[T] {
let T t = get[T](elts, hi);
elts.(hi) = util.none[T]();
+ nelts -= 1u;
ret t;
}