public_items 0.0.1

List public items (public API) of library crates. Enables diffing public API between releases.
Documentation
# public_items

List public items (the public API) of a library crate by analyzing rustdoc JSON of the crate.

# Usage

```bash
# Generate rustdoc JSON for your Rust library
RUSTDOCFLAGS='-Z unstable-options --output-format json' cargo +nightly doc --no-deps

# List all public items of the Rust library
cargo install public_items
public_items ./target/doc/your_library.json
```

# Target audience

Maintainers of Rust libraries that want to keep track of changes to their public API.

# Limitations

Currently:
* Only items from the crate itself are considered (so e.g. `fn clone()` will not be included in the output list, because the `Clone` trait is defined outside of the crate.)
* The type of items are not shown. So a struct field and and struct method is listed as `Struct::field` and `Struct::method`. And tuple structs will just be represented with `Struct::0`, `Struct::1`, etc. Since Rust does not support method overloading, this is not that big of an issue in practice.