Skip to main content

triblespace_core/
lib.rs

1// Prefer explicit `?` variable bindings in patterns instead of relying on
2// parenthesisation. Do not suppress `unused_parens` at the crate level.
3#![cfg_attr(nightly, feature(rustc_attrs, decl_macro, file_lock))]
4
5extern crate self as triblespace_core;
6
7#[allow(unused_extern_crates)]
8extern crate proc_macro;
9
10#[cfg(not(all(target_pointer_width = "64", target_endian = "little")))]
11compile_error!("triblespace-rs requires a 64-bit little-endian target");
12
13pub mod attribute;
14pub mod blob;
15pub mod export;
16pub mod id;
17pub mod import;
18pub mod metadata;
19pub mod patch;
20pub mod prelude;
21pub mod query;
22pub mod repo;
23pub mod trible;
24pub mod value;
25
26#[cfg(feature = "wasm")]
27pub mod wasm;
28
29#[cfg(feature = "wasm")]
30pub mod value_formatter;
31
32pub mod debug;
33pub mod examples;
34
35// Re-export dependencies used by generated macros so consumers
36// don't need to add them explicitly.
37pub use arrayvec;
38
39pub mod macros {
40    pub use crate::id::id_hex;
41    pub use crate::query::find;
42    pub use triblespace_core_macros::*;
43}
44
45// Proof harnesses and integration-style documentation tests live in the
46// top-level `triblespace` crate so downstream users can depend on
47// `triblespace-core` without pulling in additional development-only
48// dependencies.