#unsafe #analyzing #stats

unsafe-unicorn

library for analyzing usage of unsafe code in rust projects

2 releases

Uses old Rust 2015

0.0.1 Sep 21, 2017
0.0.0 Sep 14, 2017

#13 in #analyzing

MPL-2.0 license

16KB
354 lines

A crate for analyzing the usage of unsafe code in Rust, based on cloc-rust.

Currently, this is based on a textual analysis of code. In the future, this could be expanded to use the AST for further analysis.

For more information on unsafe code:

Example

extern crate unsafe_unicorn;

use unsafe_unicorn::{ClocStats, Cloc, ClocVerbosity};

fn main() {

    // Get the stats for a single file
    let c = ClocStats::from_file("./resources/test.rs").unwrap();
    println!("{}", c);

    // Get the stats for the resources directory
    let mut cloc = Cloc::new();
    cloc.analyze_dir("./resources").unwrap();
    println!("{}", cloc);

    // Change the verbosity to be file based and then get stats file by file for resources dir
    cloc.set_verbose(ClocVerbosity::File);
    cloc.analyze_dir("./resources").unwrap();
    println!("{}", cloc)

}

More examples are available in examples/

TODO

  • make PR for tokei
  • add dependency analysis
  • expand tests
  • add docs
  • clean up code
  • look for c-like array iteration?

Dependencies

~7MB
~116K SLoC