Enum syn::punctuated::Pair[][src]

pub enum Pair<T, P> {
    Punctuated(T, P),
    End(T),
}

A single syntax tree node of type T followed by its trailing punctuation of type P if any.

Refer to the module documentation for details about punctuated sequences.

Variants

Punctuated(T, P)
End(T)

Implementations

impl<T, P> Pair<T, P>[src]

pub fn into_value(self) -> T[src]

Extracts the syntax tree node from this punctuated pair, discarding the following punctuation.

pub fn value(&self) -> &T[src]

Borrows the syntax tree node from this punctuated pair.

pub fn value_mut(&mut self) -> &mut T[src]

Mutably borrows the syntax tree node from this punctuated pair.

pub fn punct(&self) -> Option<&P>[src]

Borrows the punctuation from this punctuated pair, unless this pair is the final one and there is no trailing punctuation.

pub fn new(t: T, d: Option<P>) -> Self[src]

Creates a punctuated pair out of a syntax tree node and an optional following punctuation.

pub fn into_tuple(self) -> (T, Option<P>)[src]

Produces this punctuated pair as a tuple of syntax tree node and optional following punctuation.

Trait Implementations

impl<T, P> Clone for Pair<T, P> where
    T: Clone,
    P: Clone
[src]

impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>[src]

impl<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>[src]

impl<T, P> ToTokens for Pair<T, P> where
    T: ToTokens,
    P: ToTokens
[src]

Auto Trait Implementations

impl<T, P> RefUnwindSafe for Pair<T, P> where
    P: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, P> Send for Pair<T, P> where
    P: Send,
    T: Send

impl<T, P> Sync for Pair<T, P> where
    P: Sync,
    T: Sync

impl<T, P> Unpin for Pair<T, P> where
    P: Unpin,
    T: Unpin

impl<T, P> UnwindSafe for Pair<T, P> where
    P: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Spanned for T where
    T: Spanned + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.