Trust 0.2.0 — adoptable as an advisory linter
First external integration feedback drove this release: Trust now meets a cargo workspace as an advisory linter that rides on the normal toolchain, not just a separate dialect you compile.
Highlights
- Advisory mode (no activation):
trust check --rules bugs|safetyruns the bug-catching rules (.unwrap(),as-casts, bare indexing, dropped error context) over plain Rust — no#![strict], no R0042, nothing added to source. - Workspace-aware check: point
trust checkat a file, directory, orCargo.toml— one command, CI-ready exit code. trust.tomlconfig: project-levelrulesselection +allow(disable) /warn(relax to non-failing) — no more inline#[allow]sprinkling.- SARIF output:
--format sariffor GitHub code-scanning (inline annotations + Security tab). trust fix --safety: mechanically rewrites.unwrap()/.expect(…)→?insideResult-returning functions.- LSP: surfaces advisory findings in-editor on plain Rust.
- MSRV lowered 1.95 → 1.85 (verified, CI-guarded) — adopting Trust no longer drags your toolchain forward.
- Activation:
[package.metadata.trust]is the recommended project opt-in (invisible to stock cargo);#![strict]is documented as not valid stock Rust.
Install: cargo install trust-lang (advisory CLI) — see the README for the full build-gate setup.