chainerror/booksrc/tutorial13.md
2019-03-04 11:44:11 +01:00

580 B

Writing a library

I would advise to only expose an mycrate::ErrorKind and type alias mycrate::Error to ChainError<mycrate::ErrorKind> so you can tell your library users to use the .kind() method as std::io::Error does.

If you later decide to make your own Error implementation, your library users don't have to change much or anything.

# #[allow(dead_code)]
# #[macro_use]
# pub mod chainerror {
{{#includecomment ../src/lib.rs}}
# }
pub mod mycrate {
    use crate::chainerror::*; // omit the `crate::` part
{{#include ../examples/tutorial13.rs:3:}}