1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
//! 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. //! //! ```text //! fn process(n: usize) -> Result<()> { ... } //! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ //! ``` //! //! * [`syn_mid::Block`] -- A block whose body is not parsed. //! //! ```text //! { ... } //! ^ ^ //! ``` //! //! 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 //! //! * **`clone-impls`** — Clone impls for all syntax tree types. //! //! [`syn_mid::ItemFn`]: ItemFn //! [`syn_mid::Block`]: Block //! [syn]: https://github.com/dtolnay/syn #![doc(test( no_crate_inject, attr( deny(warnings, rust_2018_idioms, single_use_lifetimes), allow(dead_code, unused_variables) ) ))] #![forbid(unsafe_code)] #![warn(future_incompatible, rust_2018_idioms, single_use_lifetimes, unreachable_pub)] #![warn(clippy::all, clippy::default_trait_access)] #![allow(clippy::eval_order_dependence, clippy::large_enum_variant)] // Many of the code contained in this crate are copies from https://github.com/dtolnay/syn. #[macro_use] mod macros; mod func; mod pat; mod path; pub use crate::{ func::{Block, FnArg, ItemFn, Receiver, Signature}, pat::{ FieldPat, Pat, PatIdent, PatPath, PatReference, PatStruct, PatTuple, PatTupleStruct, PatType, PatWild, }, };