Trait doku::Document

source ·
pub trait Document {
    // Required method
    fn ty() -> Type;
}
Expand description

A type that can be pretty-printed by Doku.

Usually you’ll get this by adding #[derive(Document)] to your type:

use doku::Document;

#[derive(Document)]
struct Foo;

… but implementing it manually will be required if you’re using a custom serializer / deserializer (see: the examples directory).

Required Methods§

source

fn ty() -> Type

Implementations on Foreign Types§

source§

impl Document for ()

source§

impl<A: Document, B: Document, C: Document> Document for (A, B, C)

source§

impl<T: Document> Document for &[T]

source§

impl Document for bool

source§

impl<T: Document, const N: usize> Document for [T; N]

source§

impl Document for i8

source§

impl<A: Document, B: Document, C: Document, D: Document, E: Document> Document for (A, B, C, D, E)

source§

impl<A: Document> Document for (A,)

source§

impl<K: Document, V: Document> Document for HashMap<K, V>

source§

impl<T: Document> Document for BTreeSet<T>

source§

impl<T: Document + ?Sized> Document for Rc<T>

source§

impl Document for char

source§

impl Document for IpAddr

source§

impl<A: Document, B: Document> Document for (A, B)

source§

impl<T: Document> Document for HashSet<T>

source§

impl Document for u16

source§

impl Document for usize

source§

impl<T: Document + ?Sized> Document for Mutex<T>

source§

impl Document for u32

source§

impl<T: Document> Document for Vec<T>

source§

impl<T: Document> Document for VecDeque<T>

source§

impl Document for f32

source§

impl Document for isize

source§

impl<T: Document + ?Sized> Document for Arc<T>

source§

impl<A: Document, B: Document, C: Document, D: Document> Document for (A, B, C, D)

source§

impl<A: Document, B: Document, C: Document, D: Document, E: Document, F: Document, G: Document, H: Document> Document for (A, B, C, D, E, F, G, H)

source§

impl Document for String

source§

impl Document for u8

source§

impl Document for i32

source§

impl<T: Document + ?Sized> Document for Box<T>

source§

impl<T: Document + ?Sized> Document for &mut T

source§

impl Document for i16

source§

impl<T: Document> Document for Option<T>

source§

impl<K: Document, V: Document> Document for BTreeMap<K, V>

source§

impl Document for Duration

source§

impl Document for i128

source§

impl<T: Document + ?Sized> Document for RwLock<T>

source§

impl<A: Document, B: Document, C: Document, D: Document, E: Document, F: Document, G: Document, H: Document, I: Document> Document for (A, B, C, D, E, F, G, H, I)

source§

impl<A: Document, B: Document, C: Document, D: Document, E: Document, F: Document, G: Document> Document for (A, B, C, D, E, F, G)

source§

impl<A: Document, B: Document, C: Document, D: Document, E: Document, F: Document> Document for (A, B, C, D, E, F)

source§

impl Document for u64

source§

impl Document for str

source§

impl Document for f64

source§

impl Document for PathBuf

source§

impl<T: Document> Document for &mut [T]

source§

impl Document for u128

source§

impl<T: Document> Document for LinkedList<T>

source§

impl<T: Document> Document for BinaryHeap<T>

source§

impl Document for i64

source§

impl Document for &Path

source§

impl<T: Document + ?Sized> Document for &T

source§

impl<A: Document, B: Document, C: Document, D: Document, E: Document, F: Document, G: Document, H: Document, I: Document, J: Document> Document for (A, B, C, D, E, F, G, H, I, J)

Implementors§