Generic methods in Go 1.27, and the one thing they still can’t do
Go 1.27 lets a method declare its own type parameters. Where that cleans up real code, and why a generic method still can’t satisfy an interface.
I’m Tarun, a software engineer at Siemens Digital Industries Software in Bengaluru. I work on remote desktop delivery for HPC workloads in C++, Rust, Go and Python, and on AI agent tooling that speeds up service migrations and debugging. Before that I spent two and a half years at Mercedes-Benz R&D India building event-driven microservices, and I’ve taught more than 100 students along the way.





Go 1.27 lets a method declare its own type parameters. Where that cleans up real code, and why a generic method still can’t satisfy an interface.
async fn in traits has been stable since Rust 1.75, but dyn Trait still rejects it. Why the compiler says no, the workarounds I reach for today, and the 2026 plan to fix it.
Go 1.27 makes the goroutineleak profile generally available. How the garbage collector spots goroutines that can never wake up, how to read the profile, and what it still can’t see.
An async Rust service that grows to gigabytes rarely has a single leak. The four places I look: future sizes, queues without backpressure, the allocator, and tasks that never finish.