TOOLING · Verified October 2026
Rust 1.99.0 and Go 1.27 in 2026:
tooling, versions, what changed.
Most ranking content still cites Go 1.21/Rust 1.70. Rust 1.99.0 shipped 1 October 2026 (superseding 1.98.1, from 3 September); Go 1.27.1 on 1 September 2026 (1.27.0 landed 19 August). Here is what actually matters now.
Current stable versions · October 2026
The current stable Rust version is 1.99.0, released 1 October 2026, on the 2024 edition (the default edition since Rust 1.85). The current stable Go version is 1.27.1, released 1 September 2026.
Rust 1.99.0 · 2024 edition
1.99.0 released 1 Oct 2026 (extern "C" variadics). New stable every 6 weeks. Next: Rust 1.100.0 (stable 12 Nov 2026).
Go 1.27.1 · current stable
1.27.1 released 1 Sep 2026 (1.27.0 on 19 Aug). Previous line's latest patch: 1.26.8 (1 Sep 2026). Major release ~every 6 months.
Sources: blog.rust-lang.org/2026/10/01/Rust-1.99.0 · go.dev/doc/devel/release · verified October 2026
RUST
1.99.0
1.99.0 released 1 October 2026, superseding 1.98.1 (3 September, a vtable-miscompilation fix for 1.98.0). Still on the 2024 edition (current edition since 1.85).
Key changes (1.99.0)
- ✓ extern "C" variadics: C-ABI variadic functions can now be defined in Rust itself, under the "C" and "C-unwind" ABIs, via the stabilised core::ffi::VaList
- ✓ Layout queries on raw pointers: Layout::for_value_raw, mem::size_of_val_raw and mem::align_of_val_raw, covering sized and unsized types
- ✓ Vec and Box round-trips: Vec::into_parts / Vec::from_parts and Box::into_non_null / Box::from_non_null
- ✓ IntoIterator for boxed arrays (Box<[T; N]> and its reference forms), plus VecDeque::retain_back
- ✓ Filesystem timestamps: std::fs::set_times and set_times_nofollow; Box::leak docs now steer away from round-trip unleaking
Sources: blog.rust-lang.org/2026/10/01/Rust-1.99.0/ · releases.rs · Next: Rust 1.100.0 (stable 12 Nov 2026)
GO
1.27
1.27.0 released 19 August 2026; latest patch 1.27.1 (1 September 2026). Generics, JSON v2, and post-quantum crypto.
Key changes
- ✓ Generic methods: methods can now declare their own type parameters (e.g. Rand.N in math/rand/v2)
- ✓ encoding/json/v2 and encoding/json/jsontext: a faster, stricter JSON engine that rejects invalid UTF-8 and duplicate keys; the old encoding/json is now backed by v2
- ✓ crypto/mldsa: ML-DSA post-quantum signatures (FIPS 204), with MLDSA44/65/87 support in crypto/tls and crypto/x509
- ✓ Faster small-object allocation: size-specialized malloc routines, up to 30% faster for sub-80-byte allocations
- ✓ Goroutine leak profiling (runtime/pprof goroutineleak) and a new portable simd package (GOEXPERIMENT=simd)
Sources: go.dev/doc/go1.27 + go.dev/doc/devel/release · 1.27.0 19 Aug 2026, 1.27.1 1 Sep 2026
Cargo vs Go modules
| Feature | Cargo (Rust) | Go modules |
|---|---|---|
| Package manager | Cargo (built-in) | go mod (built-in since 1.11) |
| Registry | crates.io (centralized) | Module proxy (proxy.golang.org, decentralized) |
| Build from source | Always (compiles all deps) | Binary cache by default, source when needed |
| Build time impact | High: every dep compiled per project | Lower: module cache avoids recompile |
| Workspace support | cargo workspaces | go.work (multi-module workspaces) |
| Vendoring | cargo vendor | go mod vendor |
| Version resolution | Cargo.lock (per binary), exact reproducible | go.sum (checksums), go.mod semver |
Compile time reality: 10-60x slower for Rust
30-120s
Rust
Clean build, medium project (5-20k LOC with deps)
2-10s
Go
Clean build, equivalent project size
Incremental builds are faster (10-30s for Rust after a small change vs 1-3s for Go). But cold CI builds compound across a team. See cicdcalculator.com for what Rust's 30-120s compile times cost in CI at team scale.
IDE, formatter, and linter
IDE / LSP
Rust: rust-analyzer (VSCode, Neovim, Emacs) / RustRover (JetBrains, paid)
Go: gopls (all editors) / GoLand (JetBrains, paid)
Formatter
Rust: rustfmt: single canonical format, no debate
Go: gofmt: same philosophy. Go originated this.
Linter
Rust: clippy: catches hundreds of common mistakes, pedantic mode available
Go: golangci-lint: aggregates many linters, highly configurable
Test runner
Rust: cargo test (built-in) + Criterion for benchmarks
Go: go test (built-in) + testing package with benchmarks