about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-04-04 02:45:41 +0000
committerbors <bors@rust-lang.org>2015-04-04 02:45:41 +0000
commitbcae782aa8acfba62d3446c61f17290c17e7de05 (patch)
tree4ca5ce364f004b8fa6afc3ab0152197f47df9649
parentf207ecbe021e2a81fbff4ea1904b955a156aa340 (diff)
parent8b719eefc0a772986dc33d6d9193c2cfd04b82f7 (diff)
downloadrust-bcae782aa8acfba62d3446c61f17290c17e7de05.tar.gz
rust-bcae782aa8acfba62d3446c61f17290c17e7de05.zip
Auto merge of #23979 - Ryman:error_from_string, r=alexcrichton
-rw-r--r--src/libstd/error.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libstd/error.rs b/src/libstd/error.rs
index 150ffcdd77a..c9babeb3230 100644
--- a/src/libstd/error.rs
+++ b/src/libstd/error.rs
@@ -88,8 +88,8 @@ impl<'a, E: Error + Send + 'a> From<E> for Box<Error + Send + 'a> {
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]
-impl<'a, 'b> From<&'b str> for Box<Error + Send + 'a> {
-    fn from(err: &'b str) -> Box<Error + Send + 'a> {
+impl From<String> for Box<Error + Send> {
+    fn from(err: String) -> Box<Error + Send> {
         #[derive(Debug)]
         struct StringError(String);
 
@@ -103,7 +103,14 @@ impl<'a, 'b> From<&'b str> for Box<Error + Send + 'a> {
             }
         }
 
-        Box::new(StringError(String::from_str(err)))
+        Box::new(StringError(err))
+    }
+}
+
+#[stable(feature = "rust1", since = "1.0.0")]
+impl<'a, 'b> From<&'b str> for Box<Error + Send + 'a> {
+    fn from(err: &'b str) -> Box<Error + Send + 'a> {
+        From::from(String::from_str(err))
     }
 }