Struct Group
pub struct Group { /* private fields */ }
A delimited token stream.
A Group internally contains a TokenStream which is surrounded by
Delimiters.
Implementations
impl Group
fn new(delimiter: Delimiter, stream: TokenStream) -> SelfCreates a new
Groupwith the given delimiter and token stream.This constructor will set the span for this group to
Span::call_site(). To change the span you can use theset_spanmethod below.fn delimiter(&self) -> DelimiterReturns the punctuation used as the delimiter for this group: a set of parentheses, square brackets, or curly braces.
fn stream(&self) -> TokenStreamReturns the
TokenStreamof tokens that are delimited in thisGroup.Note that the returned token stream does not include the delimiter returned above.
fn span(&self) -> SpanReturns the span for the delimiters of this token stream, spanning the entire
Group.pub fn span(&self) -> Span { ^^^^^^^fn span_open(&self) -> SpanReturns the span pointing to the opening delimiter of this group.
pub fn span_open(&self) -> Span { ^fn span_close(&self) -> SpanReturns the span pointing to the closing delimiter of this group.
pub fn span_close(&self) -> Span { ^fn delim_span(&self) -> DelimSpanReturns an object that holds this group's
span_open()andspan_close()together (in a more compact representation than holding those 2 spans individually).fn set_span(&mut self, span: Span)Configures the span for this
Group's delimiters, but not its internal tokens.This method will not set the span of all the internal tokens spanned by this group, but rather it will only set the span of the delimiter tokens at the level of the
Group.
Trait Implementations
impl Clone for Group
fn clone(&self) -> Self
impl Debug for Group
fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
impl Display for Group
fn fmt(&self, formatter: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl !Send for Group
impl !Sync for Group
impl Freeze for Group
impl RefUnwindSafe for Group
impl Unpin for Group
impl UnsafeUnpin for Group
impl UnwindSafe for Group
Blanket Implementations
impl<T> Any for Group
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Group
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Group
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Group
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Group
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Group
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T> ToString for Group
where
T: Display + ?Sized,
fn to_string(&self) -> String
impl<T, U> Into<U> for Group
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Group
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Group
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>