The Wire · Showcase
TYPES RECEIVER BUG FIXED, ARM64 COMPILER ISSUES PATCHED
By RepoJournal · Filed · About Go
The Go compiler lands three critical fixes overnight while gopls gains generic interface support and VS Code extension v0.54.0 ships with interactive code actions.
The types2 package fixed a violation of its Instances invariant where selector expressions on methods were dropping receivers [1], breaking the foundational contract that instantiating Uses[id].Type() with Instances[id].TypeArgs produces an equivalent of Instances[id].Type. This stashes the receiver in a new field checked at recording time. Simultaneously, cmd/compile shipped fixes for a right-shift miscompilation on ARM64 caused by a copy-paste error using 64-bit comparison for 32-bit shift values [2], and extended ADCQ and SBBQ to handle InvertFlags operations [3]. On the tooling front, gopls now supports generic interfaces in its stub method generation, properly instantiating type parameters from the LHS instead of inserting free variables [4], while the tools repo completed an internal restructuring moving internal/tool into gopls/internal/tool [5]. The VS Code extension released v0.54.0 with interactive code actions that prompt users for input before executing sophisticated refactorings like struct field tag manipulation and interface implementation [7], with v0.55.0 following as a pre-release identical build [8]. Routine dependency updates landed across tools [6], benchmarks [9], and perf [10] repos.
Action items
- → Pull the types2 receiver fix to ensure Instances invariant compliance in your type checking code golang/go [immediate]
- → Test ARM64 builds with the right-shift and flag handling patches before next release golang/go [plan]
- → Update gopls and vscode-go to 0.54.0+ for generic interface and interactive refactoring support golang/vscode-go [monitor]
References
- [1] go/types, types2: stash receivers on method selections golang/go
- [2] cmd/compile: fix misscompilation of Rsh with 32bits rhs on arm64 golang/go
- [3] cmd/compile: add the ability to eat InvertFlags to ADCQ and SBBQ golang/go
- [4] gopls/internal/golang/stubmethods: support generic interfaces golang/tools
- [5] gopls: move internal/tool into gopls/internal/tool golang/tools
- [6] go.mod: update golang.org/x dependencies golang/tools
- [7] Release v0.54.0 ↗ golang/vscode-go
- [8] Release v0.55.0 ↗ golang/vscode-go
- [9] go.mod: update golang.org/x dependencies golang/benchmarks
- [10] go.mod: update golang.org/x dependencies golang/perf
FAQ
- What changed in Go on June 11, 2026?
- The Go compiler lands three critical fixes overnight while gopls gains generic interface support and VS Code extension v0.54.0 ships with interactive code actions.
- What should Go teams do about it?
- Pull the types2 receiver fix to ensure Instances invariant compliance in your type checking code • Test ARM64 builds with the right-shift and flag handling patches before next release • Update gopls and vscode-go to 0.54.0+ for generic interface and interactive refactoring support
- Which Go repositories shipped on June 11, 2026?
- golang/go, golang/tools, golang/vscode-go, golang/benchmarks, golang/perf