1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//! Declare an error type.

/// An error returned when attempting to enforce or disable safe logging.
#[derive(Clone, Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
    /// Tried to call [`disable_safe_logging`](crate::disable_safe_logging), but
    /// `enforce_safe_logging` was already called.
    #[error("Cannot enable unsafe logging: safe logging is already enforced.")]
    AlreadySafe,

    /// Tried to call [`enforce_safe_logging`](crate::enforce_safe_logging), but
    /// `disable_safe_logging` was already called.
    #[error("Cannot enforce safe logging: unsafe logging is already enabled.")]
    AlreadyUnsafe,

    /// One of the `enable`/`disable` functions was called so many times that we
    /// could not keep count of how many guards there were.
    ///
    /// This should generally be impossible, and probably represents an error in
    /// your program.
    #[error("Too many calls to enforce or disable safe logging.")]
    Overflow,
}