crates-badge docs-badge license-badge rustc-badge

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.


Add this to your Cargo.toml:

syn-mid = "0.5"

The current syn-mid requires Rust 1.31 or later.



Optional features

  • clone-impls — Clone impls for all syntax tree types.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.