https://github.com/llogiq/metacollect
A lint to collect some crate metadata
https://github.com/llogiq/metacollect
Last synced: 2 months ago
JSON representation
A lint to collect some crate metadata
- Host: GitHub
- URL: https://github.com/llogiq/metacollect
- Owner: llogiq
- License: mpl-2.0
- Created: 2016-04-23T19:10:15.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-06-02T18:26:44.000Z (almost 9 years ago)
- Last Synced: 2025-03-16T06:41:10.410Z (2 months ago)
- Language: Rust
- Size: 10.7 KB
- Stars: 116
- Watchers: 10
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 memoryFor 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](http://diesel.rs) 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](LICENSE))