rscheck-cli 0.1.0-alpha.3

CLI frontend for the rscheck policy engine.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
pub(super) fn flatten(tree: &syn::UseTree) -> Option<syn::Path> {
    match tree {
        syn::UseTree::Path(path) => {
            let mut segments = syn::punctuated::Punctuated::new();
            segments.push(path.ident.clone().into());
            let mut tail = flatten(&path.tree)?;
            segments.extend(tail.segments);
            tail.segments = segments;
            Some(tail)
        }
        syn::UseTree::Name(name) => Some(syn::Path::from(name.ident.clone())),
        _ => None,
    }
}