1#[cfg(feature = "deserialize")]
2use serde::Deserialize;
3#[cfg(feature = "serialize")]
4use serde::Serialize;
5#[cfg(feature = "display")]
6use std::fmt::Display;
7
8#[derive(Debug, PartialEq, Clone)]
9#[cfg_attr(feature = "hash", derive(Hash))]
10#[cfg_attr(feature = "serialize", derive(Serialize))]
11#[cfg_attr(feature = "deserialize", derive(Deserialize))]
12pub enum Tristate {
13 Yes,
14 Module,
15 No,
16}
17
18#[cfg(feature = "display")]
19impl Display for Tristate {
20 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
21 match self {
22 Tristate::Yes => write!(f, "y"),
23 Tristate::Module => write!(f, "m"),
24 Tristate::No => write!(f, "n"),
25 }
26 }
27}