deluxe_core/
lib.rs

1//! # Deluxe Core
2//!
3//! Core functions and traits shared between [`deluxe`](https://docs.rs/deluxe) and
4//! [`deluxe_macros`](https://docs.rs/deluxe-macros).
5//!
6//! This crate is used by [`deluxe_macros`](https://docs.rs/deluxe-macros) to parse its own
7//! attributes. Code generated by its derive macros also references items from this crate
8//! re-exported into [`deluxe`](https://docs.rs/deluxe). The functions in [`parse_helpers`] are used
9//! internally by the derive macros, but can also be used for convenience when manually
10//! implementing any of the parsing traits.
11//!
12//! See the documentation for the [`deluxe`](https://docs.rs/deluxe) crate for a high-level overview
13//! of how Deluxe works.
14
15#![deny(missing_docs)]
16#![deny(unsafe_code)]
17
18#[cfg(feature = "proc-macro")]
19extern crate proc_macro;
20
21mod parse_attributes;
22pub mod parse_helpers;
23mod parse_meta;
24mod small_string;
25mod util;
26pub mod validations;
27pub mod with;
28
29pub use parse_attributes::*;
30pub use parse_meta::*;
31pub use util::*;
32
33pub use proc_macro2::Span;
34
35#[doc(hidden)]
36pub use syn;
37#[doc(hidden)]
38pub use {
39    std::{
40        borrow::Borrow,
41        collections::HashMap,
42        fmt,
43        hash::{Hash, Hasher},
44        ops, primitive, stringify,
45    },
46    AsRef, Clone, Default, Eq, IntoIterator, Iterator, Option, PartialEq,
47};