2个版本
使用旧的Rust 2015
0.1.1 | 2017年8月11日 |
---|---|
0.1.0 | 2017年8月10日 |
#61 in #io-error
15KB
161 行
arc-io-error
此库提供IoError
类型,这是在Arc上实现而不是Box的std::io::Error的版本,使其可克隆。
用法
首先,将此添加到您的Cargo.toml
[dependencies]
arc-io-error = "0.1.1"
然后,将此添加到您的crate
extern crate arc_io_error;
use arc_io_error::IoError;
概述
IoError
的API已被设计为与io::Error
相匹配,但有两大例外
IoError::new
和IoError::into_inner
用Arc替换Box,并且IoError
没有与io::Error::get_mut
等效的方法,因为内部错误实例是共享的。
IoError
实现了 From
对 io::Error
的转换,反之亦然,因此这两种类型可以轻松地在彼此之间转换。包含 io::Error
的类型可以通过在内部存储 IoError
并在 API 边界处进行转换,来使其与 Clone
兼容。
从相同的原始 IoError
实例派生的克隆将共享单个堆分配的错误实例(如果存在的话),使用 Arc
。通过 From
实现将这些克隆转换回 io::Error
实例产生的实例也将共享相同的单个错误实例。
许可证
许可方式如下:
任选其一。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在作品中的任何贡献,均将按上述方式双许可,没有任何附加条款或条件。