Skip to main content

Target

Enum Target 

Source
#[non_exhaustive]
pub enum Target { Djot, Markdown, Xml, Html, }
Expand description

Every format Twig can write — the output axis, as opposed to Format, which is what Twig can parse.

Every Format is also a Target (use Target::from(format)), so the two lists coincide today and the distinction costs nothing to ignore. It exists because only one of them can grow freely: a Format must have a parser behind it, while a target only needs somewhere for bytes to go. That makes an export-only target — one Twig can write and no parser reads back, PDF being the motivating case — expressible here and nowhere else. See the two format axes in the Zig library’s DESIGN.md.

#[non_exhaustive] for exactly that reason: a future export-only variant is then an additive change rather than a breaking one for callers that match on this enum.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Djot

§

Markdown

§

Xml

§

Html

Implementations§

Source§

impl Target

Source

pub fn as_format(self) -> Option<Format>

The Format whose parser reads this target’s own output back, or None for an export-only target.

Always Some today. It is the question to ask before assuming a target can be round-tripped: None means bytes go out and nothing comes back, so there is no “parse it again and compare” available for that target.

Trait Implementations§

Source§

impl Clone for Target

Source§

fn clone(&self) -> Target

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Target

Source§

impl Debug for Target

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Target

Source§

impl From<Format> for Target

Total: every input format is also an output target, even the ones with no serializer yet (converting into XML reports Error::UnsupportedFormat rather than being unnameable).

Source§

fn from(value: Format) -> Self

Converts to this type from the input type.
Source§

impl From<Target> for TwigFormat

Source§

fn from(value: Target) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Target

Source§

fn eq(&self, other: &Target) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Target

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.