1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#![doc=include_str!("../README.md")]

// This is the "library" crate.
//
// It is conventional for proc macro crates to be wrapped up
// in a library crate, which reexport the proc macros, mostly because
// a proc macro crate cannot contain anything else.
//
// Currently our plans do not appear to include any items other than
// proc macros.  But we shouldn't foreclose that.  So for now
// this library crate ought to declare a dependency on the macro crate
// and reexport the macros.
//
// Also this crate is where the docs live, right here as crate-level
// docs.

pub use derive_deftly_macros::derive_deftly_engine;
pub use derive_deftly_macros::{
    define_derive_deftly, derive_deftly_adhoc, pub_template_semver_check,
    Deftly,
};

// We (ab)use the module system as places to hang our documentation.

#[doc=include_str!("../doc/introduction.md")]
pub mod doc_introduction {}

#[doc=include_str!("../doc/reference.md")]
pub mod doc_reference {}

#[doc=include_str!("../doc/implementation.md")]
pub mod doc_implementation {}

#[doc=include_str!("../CHANGELOG.md")]
pub mod doc_changelog {}

#[cfg(not(feature = "minimal-1"))]
compile_error! { "You must enable at least one derive-deftly crate feature!" }