diff options
Diffstat (limited to 'src/libstd/io/error.rs')
| -rw-r--r-- | src/libstd/io/error.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libstd/io/error.rs b/src/libstd/io/error.rs index a49039b1ec4..959c15fcfd6 100644 --- a/src/libstd/io/error.rs +++ b/src/libstd/io/error.rs @@ -12,7 +12,7 @@ use boxed::Box; use convert::Into; use error; use fmt; -use marker::Send; +use marker::{Send, Sync}; use option::Option::{self, Some, None}; use result; use sys; @@ -46,7 +46,7 @@ enum Repr { #[derive(Debug)] struct Custom { kind: ErrorKind, - error: Box<error::Error+Send>, + error: Box<error::Error+Send+Sync>, } /// A list specifying general categories of I/O error. @@ -146,7 +146,7 @@ impl Error { /// ``` #[stable(feature = "rust1", since = "1.0.0")] pub fn new<E>(kind: ErrorKind, error: E) -> Error - where E: Into<Box<error::Error+Send>> + where E: Into<Box<error::Error+Send+Sync>> { Error { repr: Repr::Custom(Box::new(Custom { @@ -223,3 +223,8 @@ impl error::Error for Error { } } } + +fn _assert_error_is_sync_send() { + fn _is_sync_send<T: Sync+Send>() {} + _is_sync_send::<Error>(); +} |
