Skip to content

Commit 1d39aed

Browse files
michaelsproulbrson
authored andcommitted
Add an impl for Box<Error> from &str.
1 parent 8900290 commit 1d39aed

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/libstd/error.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,13 @@ impl<'a, 'b> From<&'b str> for Box<Error + Send + Sync + 'a> {
135135
}
136136
}
137137

138+
#[stable(feature = "string_box_error", since = "1.7.0")]
139+
impl<'a> From<&'a str> for Box<Error> {
140+
fn from(err: &'a str) -> Box<Error> {
141+
From::from(String::from(err))
142+
}
143+
}
144+
138145
#[stable(feature = "rust1", since = "1.0.0")]
139146
impl Error for str::ParseBoolError {
140147
fn description(&self) -> &str { "failed to parse bool" }

src/test/run-pass/string-box-error.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ use std::error::Error;
1515
fn main() {
1616
let _err1: Box<Error + Send + Sync> = From::from("test".to_string());
1717
let _err2: Box<Error> = From::from("test".to_string());
18+
let _err3: Box<Error + Send + Sync + 'static> = From::from("test");
19+
let _err4: Box<Error> = From::from("test");
1820
}

0 commit comments

Comments
 (0)