diff options
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/error.rs | 13 |
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)) } } |
