sdml_core/
lib.rs

1/*!
2Provides the core in-memory implementation of the *Simple Domain Modeling Language* (SDML).
3
4This package also includes the traits used to describe module loading as well as artifact
5generators.
6
7# Features
8
9## repr-write
10
11Includes a trait [`RepresentationWriter`] for implementers, and clients, of model representation forms requiring more than simply Serde support.
12
13## serde
14
15Support for serde derived serialization and de-serialization for all the model types.
16
17## stdlib
18
19Includes support for the standard library definitions.
20
21## stdlib-ext-config
22
23Includes support for external configuration of standard library content.
24
25## terms
26
27Includes support for term checking as a part of the standard validation process.
28
29## tree-sitter
30
31*/
32
33#![warn(
34    unknown_lints,
35    // ---------- Stylistic
36    absolute_paths_not_starting_with_crate,
37    elided_lifetimes_in_paths,
38    explicit_outlives_requirements,
39    macro_use_extern_crate,
40    nonstandard_style, /* group */
41    noop_method_call,
42    rust_2018_idioms,
43    single_use_lifetimes,
44    trivial_casts,
45    trivial_numeric_casts,
46    // ---------- Future
47    future_incompatible, /* group */
48    rust_2021_compatibility, /* group */
49    // ---------- Public
50    missing_debug_implementations,
51    // missing_docs,
52    unreachable_pub,
53    // ---------- Unsafe
54    unsafe_code,
55    unsafe_op_in_unsafe_fn,
56    // ---------- Unused
57    unused, /* group */
58)]
59#![deny(
60    // ---------- Public
61    exported_private_dependencies,
62    // ---------- Deprecated
63    anonymous_parameters,
64    bare_trait_objects,
65    ellipsis_inclusive_range_patterns,
66    // ---------- Unsafe
67    deref_nullptr,
68    drop_bounds,
69    dyn_drop,
70)]
71
72// ------------------------------------------------------------------------------------------------
73// Modules
74// ------------------------------------------------------------------------------------------------
75
76pub use sdml_errors::errors as error;
77
78pub mod config;
79
80pub mod load;
81
82pub mod model;
83
84#[cfg(feature = "repr-write")]
85pub mod repr;
86
87#[cfg(feature = "stdlib")]
88pub mod stdlib;
89
90pub mod store;
91
92pub mod syntax;