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(nightly_doc, doc(cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))))]
14mod impls;
15#[cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))]
16#[cfg_attr(nightly_doc, doc(cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))))]
17mod namespace;
18
19#[cfg(not(feature = "std"))]
20mod define_no_std;
21#[cfg(feature = "std")]
22mod reexports_std;
23
24crate::items! { // structural access: _mods, _all, _always
25    #[allow(unused)]
26    pub use _mods::*;
27    #[allow(unused)] #[doc(hidden, no_inline)]
28    pub use _always::*;
29
30    mod _mods {
31        #[cfg(any(feature = "std", all(not(feature = "std"), feature = "io")))]
32        pub use super::namespace::*;
33
34        #[cfg(not(feature = "std"))]
35        pub use super::define_no_std::*;
36        #[cfg(feature = "std")]
37        pub use super::reexports_std::*;
38    }
39    pub(super) mod _all { #![allow(unused)]
40        #[doc(inline)]
41        pub use super::_mods::*;
42    }
43    pub(super) mod _always { #![allow(unused)]
44        #[cfg(feature = "std")]
45        pub use super::reexports_std::*;
46    }
47}