Skip to content

llogiq/metacollect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

A lint to collect some crate metadata

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages