#[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: For
The for
keyword.
binding: Pat
The pattern binding to use. Non-trivial pattern bindings will panic if the value doesn’t match.
in_: In
The 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§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.