]> git.lizzy.rs Git - rust.git/blobdiff - src/libstd/to_str.rs
Replace all ~"" with "".to_owned()
[rust.git] / src / libstd / to_str.rs
index 46a9e93f416424c64d997e46d3465e2a92a0003b..d29b0b3b07cbbdbf4bc8764074a6b026789eed76 100644 (file)
 
 */
 
-use option::{Some, None};
-use str::OwnedStr;
-use iter::Iterator;
-use vec::ImmutableVector;
+use fmt;
 
 /// A generic trait for converting a value to a string
 pub trait ToStr {
@@ -31,72 +28,34 @@ pub trait IntoStr {
     fn into_str(self) -> ~str;
 }
 
-impl ToStr for () {
-    #[inline]
-    fn to_str(&self) -> ~str { ~"()" }
-}
-
-impl<'a,A:ToStr> ToStr for &'a [A] {
-    #[inline]
-    fn to_str(&self) -> ~str {
-        let mut acc = ~"[";
-        let mut first = true;
-        for elt in self.iter() {
-            if first {
-                first = false;
-            }
-            else {
-                acc.push_str(", ");
-            }
-            acc.push_str(elt.to_str());
-        }
-        acc.push_char(']');
-        acc
-    }
-}
-
-impl<A:ToStr> ToStr for ~[A] {
-    #[inline]
-    fn to_str(&self) -> ~str {
-        let mut acc = ~"[";
-        let mut first = true;
-        for elt in self.iter() {
-            if first {
-                first = false;
-            }
-            else {
-                acc.push_str(", ");
-            }
-            acc.push_str(elt.to_str());
-        }
-        acc.push_char(']');
-        acc
-    }
+impl<T: fmt::Show> ToStr for T {
+    fn to_str(&self) -> ~str { format!("{}", *self) }
 }
 
 #[cfg(test)]
 mod tests {
     use super::*;
+    use str::StrSlice;
 
     #[test]
     fn test_simple_types() {
-        assert_eq!(1i.to_str(), ~"1");
-        assert_eq!((-1i).to_str(), ~"-1");
-        assert_eq!(200u.to_str(), ~"200");
-        assert_eq!(2u8.to_str(), ~"2");
-        assert_eq!(true.to_str(), ~"true");
-        assert_eq!(false.to_str(), ~"false");
-        assert_eq!(().to_str(), ~"()");
-        assert_eq!((~"hi").to_str(), ~"hi");
+        assert_eq!(1i.to_str(), "1".to_owned());
+        assert_eq!((-1i).to_str(), "-1".to_owned());
+        assert_eq!(200u.to_str(), "200".to_owned());
+        assert_eq!(2u8.to_str(), "2".to_owned());
+        assert_eq!(true.to_str(), "true".to_owned());
+        assert_eq!(false.to_str(), "false".to_owned());
+        assert_eq!(().to_str(), "()".to_owned());
+        assert_eq!(("hi".to_owned()).to_str(), "hi".to_owned());
     }
 
     #[test]
     fn test_vectors() {
         let x: ~[int] = ~[];
-        assert_eq!(x.to_str(), ~"[]");
-        assert_eq!((~[1]).to_str(), ~"[1]");
-        assert_eq!((~[1, 2, 3]).to_str(), ~"[1, 2, 3]");
+        assert_eq!(x.to_str(), "[]".to_owned());
+        assert_eq!((~[1]).to_str(), "[1]".to_owned());
+        assert_eq!((~[1, 2, 3]).to_str(), "[1, 2, 3]".to_owned());
         assert!((~[~[], ~[1], ~[1, 1]]).to_str() ==
-               ~"[[], [1], [1, 1]]");
+               "[[], [1], [1, 1]]".to_owned());
     }
 }