Go 1.25 Removes Core Types, Simplifying the Language Spec

2025-03-26

Go 1.18 introduced generics, and with it, the concept of "core types" to simplify handling generic operands. However, this added complexity to the language specification and limited the flexibility of certain operations. Go 1.25 removes core types, replacing them with clearer and more concise rules, thereby simplifying the language specification and opening the door for future language improvements, such as more powerful slice operations and improved type inference. This change does not affect the behavior of existing Go programs.

(go.dev)