aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-09-09 15:59:29 -0700
committerGraydon Hoare <[email protected]>2010-09-09 15:59:29 -0700
commita9e2327a18e782df524c14dc42910d61a4785324 (patch)
tree8763224ac3a4c11275dd64257aac47036c97c48d /src/lib
parentFixed lost signal notifications. (diff)
downloadrust-a9e2327a18e782df524c14dc42910d61a4785324.tar.xz
rust-a9e2327a18e782df524c14dc42910d61a4785324.zip
Switch tags to purely nominal, removing TY_iso and TY_idx. Seems to mostly work, possibly a little bumpy. Changes a lot.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/deque.rs2
-rw-r--r--src/lib/map.rs6
-rw-r--r--src/lib/std.rc1
-rw-r--r--src/lib/util.rs5
4 files changed, 11 insertions, 3 deletions
diff --git a/src/lib/deque.rs b/src/lib/deque.rs
index 54dca00b..21acdfc9 100644
--- a/src/lib/deque.rs
+++ b/src/lib/deque.rs
@@ -129,8 +129,8 @@ fn create[T]() -> t[T] {
let uint idx = (lo + (i as uint)) % _vec.len[cell[T]](elts);
ret get[T](elts, idx);
}
- }
+ }
let vec[cell[T]] v = _vec.init_elt[cell[T]](util.none[T](),
initial_capacity);
diff --git a/src/lib/map.rs b/src/lib/map.rs
index ce4f065f..decc2216 100644
--- a/src/lib/map.rs
+++ b/src/lib/map.rs
@@ -27,7 +27,11 @@ fn mk_hashmap[K, V](&hashfn[K] hasher, &eqfn[K] eqer) -> hashmap[K, V] {
let uint initial_capacity = 32u; // 2^5
let util.rational load_factor = rec(num=3, den=4);
- type bucket[K, V] = tag(nil(), deleted(), some(K, V));
+ tag bucket[K, V] {
+ nil();
+ deleted();
+ some(K, V);
+ }
fn make_buckets[K, V](uint nbkts) -> vec[mutable bucket[K, V]] {
ret _vec.init_elt[mutable bucket[K, V]](nil[K, V](), nbkts);
diff --git a/src/lib/std.rc b/src/lib/std.rc
index b789aa17..79dabc0e 100644
--- a/src/lib/std.rc
+++ b/src/lib/std.rc
@@ -47,6 +47,7 @@ alt (target_os) {
}
}
+// FIXME: parametric
mod map;
mod deque;
mod rand;
diff --git a/src/lib/util.rs b/src/lib/util.rs
index 1688c263..dee93773 100644
--- a/src/lib/util.rs
+++ b/src/lib/util.rs
@@ -1,4 +1,7 @@
-type option[T] = tag(none(), some(T));
+tag option[T] {
+ none();
+ some(T);
+}
type operator[T, U] = fn(&T) -> U;