devela/code/
mod.rs

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