58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
# syn-mid
|
|
|
|
[](https://crates.io/crates/syn-mid)
|
|
[](https://docs.rs/syn-mid)
|
|
[](#license)
|
|
[](https://www.rust-lang.org)
|
|
[](https://github.com/taiki-e/syn-mid/actions?query=workflow%3ACI+branch%3Amaster)
|
|
|
|
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.
|
|
|
|
[syn]: https://github.com/dtolnay/syn
|
|
|
|
## Usage
|
|
|
|
Add this to your `Cargo.toml`:
|
|
|
|
```toml
|
|
[dependencies]
|
|
syn-mid = "0.5"
|
|
```
|
|
|
|
*Compiler support: requires rustc 1.31+*
|
|
|
|
[**Examples**](examples)
|
|
|
|
## Optional features
|
|
|
|
- **`clone-impls`** — Clone impls for all syntax tree types.
|
|
|
|
## License
|
|
|
|
Licensed under either of [Apache License, Version 2.0](LICENSE-APACHE) or
|
|
[MIT license](LICENSE-MIT) 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.
|