Struct PatGuard
pub struct PatGuard { pub attrs: Vec<Attribute>, pub pat: Box<Pat>, pub if_token: If, pub guard: Box<Expr> }
A pattern with guard predicate: Some(x) if x > 0.
Fields
attrs: Vec<Attribute>pat: Box<Pat>if_token: Ifguard: Box<Expr>
Trait Implementations
impl Clone for PatGuard
fn clone(&self) -> Self
impl ToTokens for PatGuard
fn to_tokens(&self, tokens: &mut TokenStream)
Auto Trait Implementations
impl !Send for PatGuard
impl !Sync for PatGuard
impl Freeze for PatGuard
impl RefUnwindSafe for PatGuard
impl Unpin for PatGuard
impl UnsafeUnpin for PatGuard
impl UnwindSafe for PatGuard
Blanket Implementations
impl<T> Any for PatGuard
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for PatGuard
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for PatGuard
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for PatGuard
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for PatGuard
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Spanned for PatGuard
where
T: Spanned + ?Sized,
fn span(&self) -> Span
impl<T> ToOwned for PatGuard
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for PatGuard
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 PatGuard
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for PatGuard
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>