syn-canon
Canonical forms of syn files. Formatting, supported style folds and local binder names share one comparison key.
use HashSet;
let canonical = ;
let mut forms = new;
assert!;
assert!;
assert!;
println!;
no_std with alloc. It powers cargo-echoes, which finds duplicated doctests.
Equal forms mean approximate duplication, since the normalization cannot see what the compiler resolves, such as inferred types, macro expansions or an enclosing cfg.
Stability
CanonicalForm keys and hashes are comparable within one major version. New folds require a major version.