about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2013-12-23 14:46:54 +0100
committerSimon Sapin <simon.sapin@exyr.org>2014-01-21 11:45:08 -0800
commitadd8f9680e2214c0e44978f1c24a62bd342d9a18 (patch)
tree93288ac675b736eba7e2727e44e3596b4fc77c2a /src/libstd
parentd25334d63a206dc9f7465119be983929782a124a (diff)
downloadrust-add8f9680e2214c0e44978f1c24a62bd342d9a18.tar.gz
rust-add8f9680e2214c0e44978f1c24a62bd342d9a18.zip
[std::vec] Rename .head_opt() to .head(), drop the old .head() behavior
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/str.rs2
-rw-r--r--src/libstd/vec.rs33
2 files changed, 6 insertions, 29 deletions
diff --git a/src/libstd/str.rs b/src/libstd/str.rs
index 7398960eeb7..ff029565cf1 100644
--- a/src/libstd/str.rs
+++ b/src/libstd/str.rs
@@ -666,7 +666,7 @@ impl<'a> Iterator<char> for Normalizations<'a> {
     fn next(&mut self) -> Option<char> {
         use unicode::decompose::canonical_combining_class;
 
-        match self.buffer.head_opt() {
+        match self.buffer.head() {
             Some(&(c, 0)) => {
                 self.sorted = false;
                 self.buffer.shift();
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs
index baeda1d7ae5..983d2def7b5 100644
--- a/src/libstd/vec.rs
+++ b/src/libstd/vec.rs
@@ -942,10 +942,8 @@ pub trait ImmutableVector<'a, T> {
     /// Returns the element of a vector at the given index, or `None` if the
     /// index is out of bounds
     fn get(&self, index: uint) -> Option<&'a T>;
-    /// Returns the first element of a vector, failing if the vector is empty.
-    fn head(&self) -> &'a T;
     /// Returns the first element of a vector, or `None` if it is empty
-    fn head_opt(&self) -> Option<&'a T>;
+    fn head(&self) -> Option<&'a T>;
     /// Returns all but the first element of a vector
     fn tail(&self) -> &'a [T];
     /// Returns all but the first `n' elements of a vector
@@ -1123,13 +1121,7 @@ impl<'a,T> ImmutableVector<'a, T> for &'a [T] {
     }
 
     #[inline]
-    fn head(&self) -> &'a T {
-        if self.len() == 0 { fail!("head: empty vector") }
-        &self[0]
-    }
-
-    #[inline]
-    fn head_opt(&self) -> Option<&'a T> {
+    fn head(&self) -> Option<&'a T> {
         if self.len() == 0 { None } else { Some(&self[0]) }
     }
 
@@ -3054,27 +3046,12 @@ mod tests {
 
     #[test]
     fn test_head() {
-        let mut a = ~[11];
-        assert_eq!(a.head(), &11);
-        a = ~[11, 12];
-        assert_eq!(a.head(), &11);
-    }
-
-    #[test]
-    #[should_fail]
-    fn test_head_empty() {
-        let a: ~[int] = ~[];
-        a.head();
-    }
-
-    #[test]
-    fn test_head_opt() {
         let mut a = ~[];
-        assert_eq!(a.head_opt(), None);
+        assert_eq!(a.head(), None);
         a = ~[11];
-        assert_eq!(a.head_opt().unwrap(), &11);
+        assert_eq!(a.head().unwrap(), &11);
         a = ~[11, 12];
-        assert_eq!(a.head_opt().unwrap(), &11);
+        assert_eq!(a.head().unwrap(), &11);
     }
 
     #[test]