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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#![warn(
    clippy::unwrap_used,
    missing_docs,
    rust_2018_idioms,
    unused_lifetimes,
    unused_qualifications
)]
#![allow(clippy::single_match, rustdoc::bare_urls)]
#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
#![doc = include_str!("../README.md")]

#[cfg(all(feature = "alloc", not(feature = "std")))]
extern crate alloc;

//---------------------------------------------------------
// Re-exports on external types we may use
//---------------------------------------------------------

#[cfg(feature = "mail_parser")]
pub mod mail_parser {
    //! Re-export of the used external mail_parser
    #[doc(inline)]
    pub use mail_parser::{HeaderValue, Message, MessageParser};
}

//---------------------------------------------------------
// Traits
//---------------------------------------------------------

pub mod traits;

//---------------------------------------------------------
// Error types
//---------------------------------------------------------

pub mod error;

//---------------------------------------------------------
// Authentication-Results & DKIM-Signature etc. pub types
//---------------------------------------------------------

pub mod auth;
pub mod auth_results;
pub mod dkim;
pub mod iprev;
pub mod spf;

//--------------------------------------------------------
// Parsing implementations with type conversions
//--------------------------------------------------------

mod parser;

//--------------------------------------------------------
// Allocating Public convenience API
//--------------------------------------------------------

#[cfg(any(feature = "alloc", feature = "std"))]
pub mod alloc_yes;

//--------------------------------------------------------
// Non-Allocating Public convenience API
//--------------------------------------------------------

#[cfg(feature = "static")]
pub mod alloc_no;