Enum syn::punctuated::Pair  
source · [−]pub enum Pair<T, P> {
    Punctuated(T, P),
    End(T),
}Expand description
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
sourceimpl<T, P> Pair<T, P>
 
impl<T, P> Pair<T, P>
sourcepub fn into_value(self) -> T
 
pub fn into_value(self) -> T
Extracts the syntax tree node from this punctuated pair, discarding the following punctuation.
sourcepub fn value_mut(&mut self) -> &mut T
 
pub fn value_mut(&mut self) -> &mut T
Mutably borrows the syntax tree node from this punctuated pair.
sourcepub fn punct(&self) -> Option<&P>
 
pub fn punct(&self) -> Option<&P>
Borrows the punctuation from this punctuated pair, unless this pair is the final one and there is no trailing punctuation.
sourcepub fn punct_mut(&mut self) -> Option<&mut P>
 
pub fn punct_mut(&mut self) -> Option<&mut P>
Mutably borrows the punctuation from this punctuated pair, unless the pair is the final one and there is no trailing punctuation.
Example
punctuated.insert(0, parse_quote!('lifetime));
if let Some(punct) = punctuated.pairs_mut().next().unwrap().punct_mut() {
    punct.span = span;
}sourcepub fn new(t: T, p: Option<P>) -> Self
 
pub fn new(t: T, p: Option<P>) -> Self
Creates a punctuated pair out of a syntax tree node and an optional following punctuation.
sourcepub fn into_tuple(self) -> (T, Option<P>)
 
pub fn into_tuple(self) -> (T, Option<P>)
Produces this punctuated pair as a tuple of syntax tree node and optional following punctuation.
Trait Implementations
sourceimpl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>
 
impl<T, P> Extend<Pair<T, P>> for Punctuated<T, P>
sourcefn extend<I: IntoIterator<Item = Pair<T, P>>>(&mut self, i: I)
 
fn extend<I: IntoIterator<Item = Pair<T, P>>>(&mut self, i: I)
Extends a collection with the contents of an iterator. Read more
sourcefn extend_one(&mut self, item: A)
 
fn extend_one(&mut self, item: A)
extend_one)Extends a collection with exactly one element.
sourcefn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>
 
impl<T, P> FromIterator<Pair<T, P>> for Punctuated<T, P>
sourcefn from_iter<I: IntoIterator<Item = Pair<T, P>>>(i: I) -> Self
 
fn from_iter<I: IntoIterator<Item = Pair<T, P>>>(i: I) -> Self
Creates a value from an iterator. Read more
sourceimpl<T, P> ToTokens for Pair<T, P> where
    T: ToTokens,
    P: ToTokens, 
 
impl<T, P> ToTokens for Pair<T, P> where
    T: ToTokens,
    P: ToTokens, 
sourcefn to_tokens(&self, tokens: &mut TokenStream)
 
fn to_tokens(&self, tokens: &mut TokenStream)
Write self to the given TokenStream. Read more
sourcefn to_token_stream(&self) -> TokenStream
 
fn to_token_stream(&self) -> TokenStream
Convert self directly into a TokenStream object. Read more
sourcefn into_token_stream(self) -> TokenStream
 
fn into_token_stream(self) -> TokenStream
Convert self directly into a TokenStream object. Read more
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
sourceimpl<T> BorrowMut<T> for T where
    T: ?Sized, 
 
impl<T> BorrowMut<T> for T where
    T: ?Sized, 
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Spanned for T where
    T: Spanned + ?Sized, 
 
impl<T> Spanned for T where
    T: Spanned + ?Sized, 
sourcefn span(&self) -> Span
 
fn span(&self) -> Span
Returns a Span covering the complete contents of this syntax tree
node, or Span::call_site() if this node is empty. Read more