A lint to collect some crate metadata
Rust
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
Cargo.toml
LICENSE
README.md

README.md

metacollect

Collecting All Your Crate Metadata

This is a lint that never reports anything, but collects crate metadata like the composition of types and the call graph.

This can be useful to determine if

  • a type has inherent mutability
  • a type contains some unsafe other type (e.g. UnsafeCell)
  • a function may panic
  • a function is pure
  • a function is recursive
  • a function allocates memory

For now, this is only a work-in-progress proof of concept. There are some open questions, like

  • How to best store the data (currently this writes to tab-separated files, but the plan is to use Diesel to write to an SQLite database.
  • How to deal with generics
  • How to deal with trait object methods
  • How to run the lint from a build script

License

Mozilla Public License 2.0 (see LICENSE)