devela/code/
mod.rs

1// devela::code
2//
3//! Code reflective synthesis.
4#![doc = crate::doc_!(modules: crate; code: marker, ops, result, util)]
5#![doc = crate::doc_!(newline)]
6//!
7#![doc = crate::doc_!(extends: any, clone, convert, default, hint, marker, ops)]
8//
9// safety
10#![cfg_attr(feature = "safe_code", forbid(unsafe_code))]
11
12mod any; // dynamic typing and reflection
13mod default; // ConstDefault, Default
14mod guard; // ScopeGuard
15mod reexports; // re-exported items
16
17pub mod marker; // core::marker, type_marker!, type_resource!, TypeResource, TypeResourced
18pub mod ops; // re-exported overloadable operators
19pub mod result; // AllError, serr, sok, Mismatch, OptRes, ValueQuant…
20pub mod util; // utility macros and functions
21
22crate::items! { // structural access: _mods, _pub_mods, _internals, _all, _always
23    #[allow(unused)]
24    pub use {_mods::*, _internals::*};
25    #[allow(unused)] #[doc(hidden, no_inline)]
26    pub use {_always::*, _pub_mods::*};
27
28    mod _mods {
29        pub use super::{any::_all::*, default::*, guard::*, reexports::*};
30    }
31    mod _pub_mods {
32        pub use super::{marker::_all::*, ops::_all::*, result::_all::*, util::_all::*};
33    }
34    pub(super) mod _internals {
35        pub(crate) use super::util::_internals::*;
36    }
37    pub(super) mod _all {
38        #[doc(inline)]
39        pub use super::{_pub_mods::*, _mods::*};
40    }
41    pub(super) mod _always { #![allow(unused)]
42        pub use super::{marker::_always::*, reexports::*, result::_always::*, util::_always::*};
43    }
44}