• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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