Lint categories

sui-clippy groups rules into categories (same names as rust-clippy). Each category has a default level (allow, warn, or deny) used when neither sui-clippy.toml nor the CLI overrides a lint.

CategoryRoleDefault
correctnessLikely bugs or useless codedeny
suspiciousVery likely unintendedwarn
styleIdiomatic / readable Movewarn
complexitySimpler equivalent formswarn
perfCheaper patternswarn
pedanticStricter / noisierallow
nurseryNew or experimentalallow
restrictionOpinionated bansallow
cargoMove.toml / packagingallow
suiSui object / PTB patternsallow
securitySecurity heuristics (expect noise)allow

Full index

Rules not in the generated table

Some diagnostics are produced at run time and are not declared as static LintDef entries:

  • move_compiler — only when --typed is used and the binary is built with --features move_compiler.
  • sui_move_lint — when --with-sui-lint is set and the spawned sui move build --lint fails.

Regenerating docs

Whenever you add or change a lint’s metadata:

cargo run -p sui-clippy-docgen

Then rebuild the book (mdbook build inside book/) if you ship HTML.