diff options
| author | bors <bors@rust-lang.org> | 2015-04-18 02:53:53 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-04-18 02:53:53 +0000 |
| commit | efa6a46a8eceb4ab792d5ec8e28cf3baaaa96491 (patch) | |
| tree | 89e7c7e0f3e09376ef09eac01fd7dacf26b90653 /src/libstd/error.rs | |
| parent | 1284be4044420bc4c41767284ae26be61a38d331 (diff) | |
| parent | 986852911464df87088007e64780165cc538f9b9 (diff) | |
| download | rust-efa6a46a8eceb4ab792d5ec8e28cf3baaaa96491.tar.gz rust-efa6a46a8eceb4ab792d5ec8e28cf3baaaa96491.zip | |
Auto merge of #24133 - kballard:add-sync-to-io-error, r=alexcrichton
This allows `io::Error` values to be stored in `Arc` properly. Because this requires `Sync` of any value passed to `io::Error::new()` and modifies the relevant `convert::From` impls, this is a [breaking-change] Fixes #24049.
Diffstat (limited to 'src/libstd/error.rs')
| -rw-r--r-- | src/libstd/error.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libstd/error.rs b/src/libstd/error.rs index 96087bf1183..9f09f464cfc 100644 --- a/src/libstd/error.rs +++ b/src/libstd/error.rs @@ -50,7 +50,7 @@ use boxed::Box; use convert::From; use fmt::{self, Debug, Display}; -use marker::Send; +use marker::{Send, Sync}; use num; use option::Option; use option::Option::None; @@ -81,15 +81,15 @@ impl<'a, E: Error + 'a> From<E> for Box<Error + 'a> { } #[stable(feature = "rust1", since = "1.0.0")] -impl<'a, E: Error + Send + 'a> From<E> for Box<Error + Send + 'a> { - fn from(err: E) -> Box<Error + Send + 'a> { +impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<Error + Send + Sync + 'a> { + fn from(err: E) -> Box<Error + Send + Sync + 'a> { Box::new(err) } } #[stable(feature = "rust1", since = "1.0.0")] -impl From<String> for Box<Error + Send> { - fn from(err: String) -> Box<Error + Send> { +impl From<String> for Box<Error + Send + Sync> { + fn from(err: String) -> Box<Error + Send + Sync> { #[derive(Debug)] struct StringError(String); @@ -108,8 +108,8 @@ impl From<String> for Box<Error + Send> { } #[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<'a, 'b> From<&'b str> for Box<Error + Send + Sync + 'a> { + fn from(err: &'b str) -> Box<Error + Send + Sync + 'a> { From::from(String::from_str(err)) } } |
