Skip to content

v0.4.0 - SSA Inter-Procedural Analysis, Standalone Vet Driver & GC Safety Gating

Choose a tag to compare

@DanielcoderX DanielcoderX released this 12 Aug 10:48
· 11 commits to main since this release
143b24e

🚀 What's New in v0.4.0

1. Inter-Procedural SSA Function Summaries (internal/analysis/summary)

  • Added fixpoint propagation pass for inter-procedural parameter escape and return origin analysis across function calls.

2. Standalone go/analysis Vet Driver (rustygo-vet)

  • Exposed static analysis core via standard golang.org/x/tools/go/analysis interface.
  • Run rustygo-vet ./... in CI/CD pipelines or integrate into golangci-lint.

3. Interactive Explain Flag (-rustygo-explain)

  • Added -rustygo-explain CLI flag to rustygoc build for real-time terminal analysis output ([SAFE], [UNSAFE], [UNKNOWN]).

4. GC Pointer Safety Gating (HasPointers)

  • Gated compiler rewriter and public AllocValue / AllocSliceCap generic APIs on HasPointers(T).
  • Prevents GC pointer scanning corruption by safely falling back to standard Go heap for pointer-containing types.

5. Architectural Deliverables

  • 📜 PROPOSAL.md: Formal Go Design Proposal detailing SSA lifetime evaluation pipeline and safety guarantees.
  • ⚡ BENCHMARKS.md: Visual benchmark suite detailing memory allocation drops and GC pause reductions.

📦 Installation & Upgrade

go install rustygo/cmd/rustygo-vet@v0.4.0
go install rustygo/compilerplugin/cmd/rustygoc@v0.4.0