Trait 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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Document for &Path

Source§

impl Document for IpAddr

Source§

impl Document for bool

Source§

impl Document for char

Source§

impl Document for f32

Source§

impl Document for f64

Source§

impl Document for i8

Source§

impl Document for i16

Source§

impl Document for i32

Source§

impl Document for i64

Source§

impl Document for i128

Source§

impl Document for isize

Source§

impl Document for str

Source§

impl Document for u8

Source§

impl Document for u16

Source§

impl Document for u32

Source§

impl Document for u64

Source§

impl Document for u128

Source§

impl Document for ()

Source§

impl Document for usize

Source§

impl Document for String

Source§

impl Document for Duration

Source§

impl Document for PathBuf

Source§

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

Source§

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

Source§

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

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> Document for (A, B, C, D, E)

Source§

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

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, G: Document, H: Document> Document for (A, B, C, D, E, F, G, H)

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, H: Document, I: Document, J: Document> Document for (A, B, C, D, E, F, G, H, I, J)

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§