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