about summary refs log tree commit diff
path: root/src/libstd/error.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-04-18 02:53:53 +0000
committerbors <bors@rust-lang.org>2015-04-18 02:53:53 +0000
commitefa6a46a8eceb4ab792d5ec8e28cf3baaaa96491 (patch)
tree89e7c7e0f3e09376ef09eac01fd7dacf26b90653 /src/libstd/error.rs
parent1284be4044420bc4c41767284ae26be61a38d331 (diff)
parent986852911464df87088007e64780165cc538f9b9 (diff)
downloadrust-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.rs14
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))
     }
 }