devela/sys/io/
mod.rs

1// devela::sys::io
2//
3//! I/O functionality.
4//!
5#![doc = crate::doc_!(extends: io)]
6//!
7#![doc = crate::doc_!(vendor: "no_std_io")]
8//
9// safety
10#![cfg_attr(feature = "safe_io", forbid(unsafe_code))]
11
12#[cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))]
13#[cfg_attr(
14    feature = "nightly_doc",
15    doc(cfg(any(feature = "std", all(not(feature = "std"), feature = "io"))))
16)]
17mod impls;
18#[cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))]
19#[cfg_attr(
20    feature = "nightly_doc",
21    doc(cfg(any(feature = "std", all(not(feature = "std"), feature = "io"))))
22)]
23mod namespace;
24
25#[cfg(not(feature = "std"))]
26mod define_no_std;
27#[cfg(feature = "std")]
28mod reexport_std;
29
30crate::items! { // structural access: _mods, _all, _always
31    #[allow(unused)]
32    pub use _mods::*;
33    #[allow(unused)] #[doc(hidden, no_inline)]
34    pub use _always::*;
35
36    mod _mods {
37        #[cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))]
38        pub use super::namespace::*;
39
40        #[cfg(not(feature = "std"))]
41        pub use super::define_no_std::*;
42        #[cfg(feature = "std")]
43        pub use super::reexport_std::*;
44    }
45    pub(super) mod _all { #![allow(unused)]
46        #[doc(inline)]
47        pub use super::_mods::*;
48    }
49    pub(super) mod _always { #![allow(unused)]
50        #[cfg(feature = "std")]
51        pub use super::reexport_std::*;
52    }
53}