1 | //! A tiny, `no_std`-friendly facade around `std::io`. |
2 | //! Reexports types from `std` when available; otherwise reimplements and |
3 | //! provides some of the core logic. |
4 | //! |
5 | //! The main reason that `std::io` hasn't found itself reexported as part of |
6 | //! the `core` crate is the `std::io::{Read, Write}` traits' reliance on |
7 | //! `std::io::Error`, which may contain internally a heap-allocated `Box<Error>` |
8 | //! and/or now relying on OS-specific `std::backtrace::Backtrace`. |
9 | |
10 | pub use self::imp::{Error, ErrorKind, Result, Write}; |
11 | |
12 | #[cfg (not(feature = "std" ))] |
13 | #[path = "core.rs" ] |
14 | mod imp; |
15 | |
16 | #[cfg (feature = "std" )] |
17 | use std::io as imp; |
18 | |
19 | #[cfg (feature = "std" )] |
20 | pub use std::io::{Bytes, Read}; |
21 | |