1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// /// Internal namespace.
// pub( crate ) mod private
// {
// use crate::*;
// use crate::abs::*;
// use once_cell::sync::Lazy;
// use std::sync::Mutex;
// use dashmap::DashMap;
// use std::sync::Arc;
//
// static mut REGISTRY = Registry< Context >::new();
//
// pub fn current() -> ContextChanger
// {
// Registry< Context >::current( &mut REGISTRY )
// }
//
// pub fn obtain() -> ContextChanger
// {
// Registry< Context >::obtain( &mut REGISTRY )
// }
//
// }
//
// /// Protected namespace of the module.
// pub mod protected
// {
// pub use super::
// {
// orphan::*,
// private::REGISTRY,
// private::current,
// private::obtain,
// // private::Registry,
// };
// }
//
// pub use protected::*;
//
// /// Parented namespace of the module.
// pub mod orphan
// {
// pub use super::
// {
// exposed::*,
// // private:: Registry,
// };
// }
//
// /// Exposed namespace of the module.
// pub mod exposed
// {
// pub use super::
// {
// prelude::*,
// // private::current as context,
// };
// }
//
// pub use exposed::*;
//
// /// Prelude to use essentials: `use my_module::prelude::*`.
// pub mod prelude
// {
// pub use super::private::
// {
// };
// }