sim-nest 0.1.5

The SIM constellation umbrella facade: one crate that re-exports the runtime kernel, codecs, number domains, and libraries behind features.
Documentation
use sim_kernel::{Linker, Result, Symbol};

use crate::runtime::browse::{
    args_function, browse_function, browse_neighbors_function, browse_path_function,
    classes_function, codecs_function, coverage_function, eval_policies_function,
    examples_function, export_function, exports_function, facets_function, functions_function,
    help_function, help_object_function, lib_function, lib_tests_function, libs_function,
    macros_function, number_domains_function, result_function, run_tests_function, shapes_function,
    tests_function,
};

use super::register::{CoreBuildCx, link_function, link_two_case_function};

pub(super) fn register_core_browse_functions(
    cx: &mut impl CoreBuildCx,
    linker: &mut Linker<'_>,
) -> Result<()> {
    link_function(cx, linker, Symbol::qualified("core", "libs"), libs_function)?;
    link_function(cx, linker, Symbol::qualified("core", "lib"), lib_function)?;
    link_two_case_function(
        cx,
        linker,
        Symbol::qualified("core", "browse"),
        browse_function,
    )?;
    link_two_case_function(cx, linker, Symbol::new("browse"), browse_function)?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "exports"),
        exports_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "export"),
        export_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "classes"),
        classes_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "functions"),
        functions_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "macros"),
        macros_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "shapes"),
        shapes_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "codecs"),
        codecs_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "number-domains"),
        number_domains_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "eval-policies"),
        eval_policies_function,
    )?;
    link_two_case_function(
        cx,
        linker,
        Symbol::qualified("core", "tests"),
        tests_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "lib-tests"),
        lib_tests_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "run-tests"),
        run_tests_function,
    )?;
    link_function(cx, linker, Symbol::qualified("core", "help"), help_function)?;
    link_function(cx, linker, Symbol::qualified("core", "args"), args_function)?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "result"),
        result_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "examples"),
        examples_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "coverage"),
        coverage_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "facets"),
        facets_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "help-object"),
        help_object_function,
    )?;
    link_two_case_function(
        cx,
        linker,
        Symbol::qualified("core", "browse-neighbors"),
        browse_neighbors_function,
    )?;
    link_two_case_function(
        cx,
        linker,
        Symbol::new("browse-neighbors"),
        browse_neighbors_function,
    )?;
    link_function(
        cx,
        linker,
        Symbol::qualified("core", "browse-path"),
        browse_path_function,
    )?;
    link_function(cx, linker, Symbol::new("browse-path"), browse_path_function)
}