[−][src]Crate syn_mid
Providing the features between "full" and "derive" of syn.
This crate provides the following two unique data structures.
-
syn_mid::ItemFn
-- A function whose body is not parsed.fn process(n: usize) -> Result<()> { ... } ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^
-
syn_mid::Block
-- A block whose body is not parsed.{ ... } ^ ^
Other data structures are the same as data structures of syn. These are defined in this crate because they cannot be used in syn without "full" feature.
Optional features
syn-mid in the default features aims to provide the features between "full" and "derive" of syn.
clone-impls
(enabled by default) — Clone impls for all syntax tree types.extra-traits
— Debug, Eq, PartialEq, Hash impls for all syntax tree types.
Structs
ArgCaptured | An explicitly typed pattern captured by a function signature. |
ArgSelf | Self captured by value in a function signature: |
ArgSelfRef | Self captured by reference in a function signature: |
Block | A braced block containing Rust statements. |
FieldPat | A single field in a struct pattern. |
FnDecl | Header of a function declaration, without including the body. |
ItemFn | A free-standing function: |
PatBox | A box pattern: |
PatIdent | A pattern that binds a new variable: |
PatLit | A literal pattern: |
PatMacro | A macro in expression position. |
PatPath | A path pattern like |
PatRange | A range pattern: |
PatRef | A reference pattern: |
PatSlice | A dynamically sized slice pattern: |
PatStruct | A struct or struct variant pattern: |
PatTuple | A tuple pattern: |
PatTupleStruct | A tuple struct or tuple variant pattern: |
PatVerbatim | Tokens in pattern position not interpreted by Syn. |
PatWild | A pattern that matches any value: |
Enums
FnArg | An argument in a function signature: the |
Pat | A pattern in a local binding, function signature, match expression, or various other places. |
RangeLimits | Limit types of a range, inclusive or exclusive. |