1#![cfg_attr(
5 feature = "document-features",
6 cfg_attr(doc, doc = ::document_features::document_features!())
7)]
8#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
9#![deny(missing_docs, rust_2018_idioms, unsafe_code)]
11
12use std::fmt::{Display, Formatter};
13
14#[derive(Copy, Clone, Ord, PartialOrd, PartialEq, Eq, Debug, Hash)]
16#[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
17pub enum Trust {
18 Reduced,
20 Full,
22}
23
24pub mod trust;
26
27#[derive(Debug, Copy, Clone, PartialOrd, PartialEq, Ord, Eq, Hash)]
29#[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
30pub enum Permission {
31 Forbid,
33 Deny,
35 Allow,
37}
38
39pub mod permission;
41
42bitflags::bitflags! {
43 #[cfg_attr(feature = "serde1", derive(serde::Serialize, serde::Deserialize))]
45 pub struct ReadWrite: u8 {
46 const READ = 1 << 0;
48 const WRITE = 1 << 1;
50 }
51}
52
53impl Display for ReadWrite {
54 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
55 std::fmt::Debug::fmt(self, f)
56 }
57}
58
59pub mod identity;