зеркало из https://github.com/mozilla/gecko-dev.git
b93bf873ba | ||
---|---|---|
.. | ||
examples | ||
src | ||
.cargo-checksum.json | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.rst | ||
bulk.yaml | ||
vagga.yaml |
README.rst
=========== Quick Error =========== :Status: production-ready :Documentation: http://tailhook.github.io/quick-error/ A macro which makes error types pleasant to write. Features: * Define enum type with arbitrary parameters * Concise notation of ``Display`` and ``Error`` traits * Full control of ``Display`` and ``Error`` trait implementation * Any number of ``From`` traits * Support for all enum-variants ``Unit``, ``Tuple`` and ``Struct`` Here is the comprehensive example: .. code-block:: rust quick_error! { #[derive(Debug)] pub enum IoWrapper { Io(err: io::Error) { from() description("io error") display("I/O error: {}", err) cause(err) } Other(descr: &'static str) { description(descr) display("Error {}", descr) } IoAt { place: &'static str, err: io::Error } { cause(err) display(me) -> ("{} {}: {}", me.description(), place, err) description("io error at") from(s: String) -> { place: "some string", err: io::Error::new(io::ErrorKind::Other, s) } } Discard { from(&'static str) } } } ======= License ======= Licensed under either of * Apache License, Version 2.0, (./LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (./LICENSE-MIT or http://opensource.org/licenses/MIT) at your option. ------------ Contribution ------------ Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.