From 59abf75d9e810f2a88c6dd0f37cfcbd6989a6446 Mon Sep 17 00:00:00 2001 From: Brendan Zabarauskas Date: Sat, 15 Nov 2014 23:57:54 +1100 Subject: [PATCH] Move IntoString to collections::string --- src/libcollections/string.rs | 6 ++++++ src/libstd/ascii.rs | 3 +-- src/libstd/prelude.rs | 4 ++-- src/libstd/to_string.rs | 6 ------ 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/libcollections/string.rs b/src/libcollections/string.rs index c1e093436c3b..b5ed7e6a0778 100644 --- a/src/libcollections/string.rs +++ b/src/libcollections/string.rs @@ -802,6 +802,12 @@ impl FromStr for String { } } +/// Trait for converting a type to a string, consuming it in the process. +pub trait IntoString { + /// Consume and convert to a string. + fn into_string(self) -> String; +} + /// Unsafe operations #[unstable = "waiting on raw module conventions"] pub mod raw { diff --git a/src/libstd/ascii.rs b/src/libstd/ascii.rs index 56b048c31877..923349b1bf74 100644 --- a/src/libstd/ascii.rs +++ b/src/libstd/ascii.rs @@ -21,8 +21,7 @@ use mem; use option::{Option, Some, None}; use slice::{SlicePrelude, AsSlice}; use str::{Str, StrPrelude}; -use string::{mod, String}; -use to_string::IntoString; +use string::{mod, String, IntoString}; use vec::Vec; /// Datatype to hold one ascii character. It wraps a `u8`, with the highest bit always zero. diff --git a/src/libstd/prelude.rs b/src/libstd/prelude.rs index 47dd07081d0e..a75c51b9f9f7 100644 --- a/src/libstd/prelude.rs +++ b/src/libstd/prelude.rs @@ -76,14 +76,14 @@ #[doc(no_inline)] pub use io::{Buffer, Writer, Reader, Seek}; #[doc(no_inline)] pub use str::{Str, StrVector, StrPrelude}; #[doc(no_inline)] pub use str::{IntoMaybeOwned, StrAllocating, UnicodeStrPrelude}; -#[doc(no_inline)] pub use to_string::{ToString, IntoString}; +#[doc(no_inline)] pub use to_string::ToString; #[doc(no_inline)] pub use tuple::{Tuple1, Tuple2, Tuple3, Tuple4}; #[doc(no_inline)] pub use tuple::{Tuple5, Tuple6, Tuple7, Tuple8}; #[doc(no_inline)] pub use tuple::{Tuple9, Tuple10, Tuple11, Tuple12}; #[doc(no_inline)] pub use slice::{SlicePrelude, AsSlice, CloneSlicePrelude}; #[doc(no_inline)] pub use slice::{VectorVector, PartialEqSlicePrelude, OrdSlicePrelude}; #[doc(no_inline)] pub use slice::{CloneSliceAllocPrelude, OrdSliceAllocPrelude, SliceAllocPrelude}; -#[doc(no_inline)] pub use string::String; +#[doc(no_inline)] pub use string::{IntoString, String}; #[doc(no_inline)] pub use vec::Vec; // Reexported runtime types diff --git a/src/libstd/to_string.rs b/src/libstd/to_string.rs index 737e467f19c7..327410b320db 100644 --- a/src/libstd/to_string.rs +++ b/src/libstd/to_string.rs @@ -25,12 +25,6 @@ pub trait ToString { fn to_string(&self) -> String; } -/// Trait for converting a type to a string, consuming it in the process. -pub trait IntoString { - /// Consume and convert to a string. - fn into_string(self) -> String; -} - impl ToString for T { fn to_string(&self) -> String { format!("{}", *self)