Skip to main content

sim_lib_namespace/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3//! Namespace records and capability-aware source module lifecycle for the SIM runtime.
4//!
5//! The kernel defines the registry and operation contracts; this crate supplies
6//! the concrete namespace organ (namespaces, import options, export/rename/
7//! shadow handling).
8
9mod claims;
10mod module;
11mod namespace;
12
13pub use claims::{
14    namespace_export_op_key, namespace_import_op_key, namespace_module_op_key, namespace_op_keys,
15    namespace_organ_symbol, namespace_package_op_key, namespace_rename_op_key,
16    namespace_shadow_op_key, publish_namespace_organ_claims,
17    publish_namespace_organ_claims_for_lib,
18};
19pub use module::{
20    ModuleIdentity, ModuleInstance, ModuleLoader, ModuleRequest, ModuleResolutionOutcome,
21    ModuleResolutionReceipt, module_load_capability,
22};
23pub use namespace::{
24    ImportOptions, Namespace, NamespaceBindingSource, NamespaceEntry, NamespaceKind,
25    namespace_shadow_conflict_symbol,
26};
27
28/// Cookbook recipes for this lib, embedded at build time.
29pub static RECIPES: sim_cookbook::EmbeddedDir =
30    include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
31
32#[cfg(test)]
33mod tests;