# Enum pest_meta::ast::RuleType

source · [−]

    pub enum RuleType {
        Normal,
        Silent,
        Atomic,
        CompoundAtomic,
        NonAtomic,
    }

Expand description

All possible rule types

## Variants

### `Normal`

The normal rule type

### `Silent`

Silent rules are just like normal rules — when run, they function the same way — except they do not produce pairs or tokens. If a rule is silent, it will never appear in a parse result. (their syntax is `_{ ... }`)

### `Atomic`

atomic rule prevent implicit whitespace: inside an atomic rule, the tilde ~ means “immediately followed by”, and repetition operators (asterisk * and plus sign +) have no implicit separation. In addition, all other rules called from an atomic rule are also treated as atomic. In an atomic rule, interior matching rules are silent. (their syntax is `@{ ... }`)

### `CompoundAtomic`

Compound atomic rules are similar to atomic rules, but they produce inner tokens as normal. (their syntax is `${ ... }`)

### `NonAtomic`

Non-atomic rules cancel the effect of atomic rules. (their syntax is `!{ ... }`)

## Trait Implementations

source

### impl Clone for RuleType

source

#### fn clone(&self) -> RuleType

Returns a copy of the value. Read more

1.0.0 · source

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more

source

### impl Debug for RuleType

source

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

source

### impl PartialEq<RuleType> for RuleType

source

#### fn eq(&self, other: &RuleType) -> bool

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

1.0.0 · source

#### fn ne(&self, other: &Rhs) -> bool

This method tests for `!=`.

source

### impl Copy for RuleType

source

### impl Eq for RuleType

source

### impl StructuralEq for RuleType

source

### impl StructuralPartialEq for RuleType

## Auto Trait Implementations

### impl RefUnwindSafe for RuleType

### impl Send for RuleType

### impl Sync for RuleType

### impl Unpin for RuleType

### impl UnwindSafe for RuleType

## Blanket Implementations

source

### impl<T> Any for T where
T: 'static + ?Sized,

source

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

### impl<T> Borrow<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

### impl<T> BorrowMut<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

### impl<T, U> Into<U> for T where
U: From<T>,

const: unstable · source

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source

### impl<T> ToOwned for T where
T: Clone,

#### type Owned = T

The resulting type after obtaining ownership.

source

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more

source

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more

source

### impl<T, U> TryFrom<U> for T where
U: Into<T>,

#### type Error = Infallible

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

source

### impl<T, U> TryInto<U> for T where
U: TryFrom<T>,

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.