rust-standards — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited rust-standards (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
#[cfg(test)] modules within each source filetests/ directoryget_ prefix: fn name() not fn get_name()iter() / iter_mut() / into_iter()as_ (cheap &), to_ (expensive), into_ (ownership)G_CONFIG for static, no prefix for conststruct Email(String) for domain semanticsif let [first, .., last] = sliceVec::with_capacity(), String::with_capacity()Vec abuse: use arrays for fixed sizes&str over String in function parametersString for ownership: return String when transferring ownerships.bytes() over s.chars() when ASCIICow<str> when you might need to modify borrowed dataformat! over string concatenation with +contains() on string is O(n\*m)? for all fallible operationsunwrap() in tests only, never productionexpect() only for provably impossible states; the message must justify why it can't fail e.g. expect("regex is valid: validated at compile time")unwrap_or / unwrap_or_else / unwrap_or_default for deliberate fallbacksassert! at function entry'src, 'ctx not just 'atry_borrow() for RefCell to avoid paniclet x = x.parse()?lazy_static! → std::sync::OnceLock (since 1.70)once_cell::Lazy → std::sync::LazyLock (since 1.80)std::sync::mpsc → crossbeam::channel only if you need multi-consumer or better performance under contention; std::sync::mpsc is fine for most use casesfailure/error-chain → thiserror/anyhowtry!() → ? operator (since 2018)pub methods must have /// doc comments/// doc comments must be extremely conciseReturns the length not This function returns the lengthfn connect() doesn't need "Connects to the server"# Examples only for non-trivial usage; doctests must compile and passNaming: snake_case (fn/var), CamelCase (type), SCREAMING_CASE (const)
Format: rustfmt (just use it)
Docs: /// for public items, //! for module docs
Lint: #![deny(clippy::all, clippy::pedantic)]Debug on all public types; derive Clone, PartialEq only when needed#![deny(clippy::all, clippy::pedantic)] - fix all warnings~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.