From 48c2c9b3a7da174d58219f2c2e0cc43926280f35 Mon Sep 17 00:00:00 2001 From: Jesse Ruderman Date: Sat, 24 Sep 2011 15:10:03 -0700 Subject: Mark vec::len as pure --- src/lib/vec.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/lib') 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(v: [mutable? T]) -> uint { ret rusti::vec_len(v); } +pure fn len(v: [mutable? T]) -> uint { unchecked { rusti::vec_len(v) } } type init_op = fn(uint) -> T; @@ -271,9 +271,7 @@ fn position_pred(f: fn(T) -> bool, v: [T]) -> option::t { } pure fn same_length(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 -- cgit 1.4.1-3-g733a5