#[non_exhaustive]pub struct ExprFor {
pub attributes: Vec<Attribute>,
pub label: Option<(Label, Colon)>,
pub for_token: For,
pub binding: Pat,
pub in_: In,
pub iter: Box<Expr>,
pub body: Box<Block>,
}Expand description
A for loop over an iterator.
for <pat> in <expr> <block>.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.attributes: Vec<Attribute>The attributes of the for loop
label: Option<(Label, Colon)>The label of the loop.
for_token: ForThe for keyword.
binding: PatThe pattern binding to use. Non-trivial pattern bindings will panic if the value doesn’t match.
in_: InThe in keyword.
iter: Box<Expr>Expression producing the iterator.
body: Box<Block>The body of the loop.
Trait Implementations§
Source§impl OptionSpanned for ExprFor
impl OptionSpanned for ExprFor
Source§fn option_span(&self) -> Option<Span>
fn option_span(&self) -> Option<Span>
Get the optional span of the type.
Source§impl ToTokens for ExprFor
impl ToTokens for ExprFor
Source§fn to_tokens(
&self,
context: &mut MacroContext<'_, '_, '_>,
stream: &mut TokenStream,
) -> Result<()>
fn to_tokens( &self, context: &mut MacroContext<'_, '_, '_>, stream: &mut TokenStream, ) -> Result<()>
Turn the current item into tokens.
impl Eq for ExprFor
impl StructuralPartialEq for ExprFor
Auto Trait Implementations§
impl Freeze for ExprFor
impl RefUnwindSafe for ExprFor
impl Send for ExprFor
impl Sync for ExprFor
impl Unpin for ExprFor
impl UnwindSafe for ExprFor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.