Skip to main content

ToDocument

Trait ToDocument 

Source
pub trait ToDocument<P: ?Sized, A> {
    // Required method
    fn to_document(&self, printer: &P) -> DocBuilder<A>;
}
Expand description

Convert a value into a document using the supplied printer.

This is the primary trait invoked throughout the pretty-printing pipeline; it mirrors pretty::Pretty::pretty while giving access to printer-specific context.

Required Methods§

Source

fn to_document(&self, printer: &P) -> DocBuilder<A>

Produce a document using the provided printer reference.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<A, P, T: ToDocument<P, A>> ToDocument<P, A> for Box<T>

Source§

fn to_document(&self, printer: &P) -> DocBuilder<A>

Source§

impl<A, P, T: ToDocument<P, A>> ToDocument<P, A> for Option<T>

Source§

fn to_document(&self, printer: &P) -> DocBuilder<A>

Source§

impl<A, P> ToDocument<P, A> for String

Source§

fn to_document(&self, _printer: &P) -> DocBuilder<A>

Source§

impl<A: 'static + Clone> ToDocument<LeanPrinter, A> for (Vec<GenericParam>, &TraitItem)

Source§

fn to_document(&self, printer: &LeanPrinter) -> DocBuilder<A>

Source§

impl<A: 'static + Clone> ToDocument<LeanPrinter, A> for Vec<Param>

Render parameters, adding a line after each parameter

Source§

fn to_document(&self, printer: &LeanPrinter) -> DocBuilder<A>

Source§

impl<A: Clone, P, T> ToDocument<P, A> for &T
where T: ToDocument<P, A>,

Source§

fn to_document(&self, printer: &P) -> DocBuilder<A>

Implementors§

Source§

impl<A: 'static + Clone, P, T: Serialize + Debug> ToDocument<P, A> for DebugJSON<T>

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Arm

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Attribute

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for BindingMode

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for BorrowKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for DynTraitGoal

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ErrorNode

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Expr

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for FloatKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for GenericConstraint

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for GenericParam

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for GenericParamKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for GenericValue

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Generics

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for GlobalId

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Guard

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ImplExpr

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ImplIdent

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ImplItem

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for IntKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Item

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ItemKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Lhs

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Literal

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for LocalId

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Metadata

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Module

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Param

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Pat

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for PrimitiveTy

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ProjectionPredicate

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Quote

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for QuoteContent

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Region

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ResugaredExprKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ResugaredImplItemKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ResugaredItemKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ResugaredPatKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ResugaredTraitItemKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for ResugaredTyKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for SafetyKind

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for SpannedTy

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Symbol

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for TraitGoal

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for TraitItem

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Ty

Source§

impl<A: 'static + Clone, P: PrettyAst<A>> ToDocument<P, A> for Variant

Source§

impl<A: Clone, P> ToDocument<P, A> for DocBuilder<A>