1#![cfg_attr(
5 all(doc, feature = "document-features"),
6 doc = ::document_features::document_features!()
7)]
8#![cfg_attr(all(doc, feature = "document-features"), 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 = "serde", 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 = "serde", 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 = "serde", derive(serde::Serialize, serde::Deserialize))]
45 #[derive(Debug)]
46 pub struct ReadWrite: u8 {
47 const READ = 1 << 0;
49 const WRITE = 1 << 1;
51 }
52}
53
54impl Display for ReadWrite {
55 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
56 std::fmt::Debug::fmt(self, f)
57 }
58}
59
60pub mod identity;