about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorJesse Ruderman <jruderman@gmail.com>2011-09-24 15:10:03 -0700
committerJesse Ruderman <jruderman@gmail.com>2011-09-24 15:10:03 -0700
commit48c2c9b3a7da174d58219f2c2e0cc43926280f35 (patch)
tree0143df4d8b0d0a5b797bea735b55eba5dc299a85 /src/lib
parent9029416e287e663bd6a1f48727509872669853c0 (diff)
downloadrust-48c2c9b3a7da174d58219f2c2e0cc43926280f35.tar.gz
rust-48c2c9b3a7da174d58219f2c2e0cc43926280f35.zip
Mark vec::len as pure
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/vec.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/lib/vec.rs b/src/lib/vec.rs
index 84bd02e3689..9b0e2a63091 100644
--- a/src/lib/vec.rs
+++ b/src/lib/vec.rs
@@ -18,7 +18,7 @@ fn reserve<@T>(&v: [mutable? T], n: uint) {
     rustrt::vec_reserve_shared(v, n);
 }
 
-fn len<T>(v: [mutable? T]) -> uint { ret rusti::vec_len(v); }
+pure fn len<T>(v: [mutable? T]) -> uint { unchecked { rusti::vec_len(v) } }
 
 type init_op<T> = fn(uint) -> T;
 
@@ -271,9 +271,7 @@ fn position_pred<T>(f: fn(T) -> bool, v: [T]) -> option::t<uint> {
 }
 
 pure fn same_length<T, U>(xs: [T], ys: [U]) -> bool {
-    let xlen = unchecked{ vec::len(xs) };
-    let ylen = unchecked{ vec::len(ys) };
-    xlen == ylen
+    vec::len(xs) == vec::len(ys)
 }
 
 // FIXME: if issue #586 gets implemented, could have a postcondition