1#![cfg_attr(not(feature = "jit"), deny(unsafe_code))]
2#![deny(missing_docs, rustdoc::broken_intra_doc_links)]
3#![allow(unused_macros)]
4
5#[cfg(feature = "tracing")]
11macro_rules! trace {
12 ($($arg:tt)*) => {
13 ::tracing::trace!($($arg)*)
14 };
15}
16
17#[cfg(not(feature = "tracing"))]
19macro_rules! trace {
20 ($($arg:tt)*) => {};
21}
22
23#[cfg(feature = "tracing")]
27#[allow(unused_macros)]
28macro_rules! debug {
29 ($($arg:tt)*) => {
30 ::tracing::debug!($($arg)*)
31 };
32}
33
34#[cfg(not(feature = "tracing"))]
36#[allow(unused_macros)]
37macro_rules! debug {
38 ($($arg:tt)*) => {};
39}
40
41#[allow(unused_imports)]
42pub(crate) use debug;
43#[allow(unused_imports)]
44pub(crate) use trace;
45
46mod deserializer;
47mod event;
48mod evidence;
49mod parser;
50mod serializer;
51mod solver;
52mod type_plan_cache;
53mod visitor;
54
55#[cfg(feature = "jit")]
56pub mod jit;
57
58pub use deserializer::{
59 DeserializeError, DeserializeErrorKind, FormatDeserializer, MetaSource, ParseError, SpanGuard,
60};
61pub use event::{
62 ContainerKind, FieldKey, FieldLocationHint, ParseEvent, ParseEventKind, ScalarValue, ValueMeta,
63 ValueMetaBuilder, ValueTypeHint,
64};
65pub use evidence::FieldEvidence;
66#[cfg(feature = "jit")]
67pub use parser::FormatJitParser;
68pub use parser::{EnumVariantHint, FormatParser, SavePoint, ScalarTypeHint};
69pub use serializer::{
70 DynamicValueEncoding, DynamicValueTag, EnumVariantEncoding, FieldOrdering, FormatSerializer,
71 MapEncoding, SerializeError, StructFieldMode, serialize_root, serialize_value_with_shape,
72};
73pub use solver::{SolveOutcome, SolveVariantError, solve_variant};
74pub use visitor::{FieldMatch, StructFieldTracker};