$ the-wire · showcase
gcimporter var kinds regress in Go 1.28, net/http drops serverHandler
By RepoJournal · Filed · About Go · Composed from the cited sources · methodology
A real regression in go/importer landed in the tools tree on the same day the core net/http package finished retiring an internal wrapper, and the rest of the day is cleanup and architecture plumbing.
internal/gcimporter: set Var.Kind of parameters, results and receivers golang/tools
The indexed and unified importers build every parameter with types.NewParam and never call SetKind, so results and receivers come back as ParamVar and named-interface method receivers as PackageVar. Since go/importer now reads the "i" format through this package, the pull request calls this "a regression in Go 1.28"; the fix mirrors what go/internal/gcimporter has done since CL 645115.
internal/typesinternal: fix crash in IsAssignedOrAddressTaken golang/tools
IsAssignedOrAddressTaken crashed on ill-formed code where the left side of a ":=" is a non-identifier, as in "(x) := 1", because of an unchecked type assertion on *ast.Ident. It now returns true in that case, so analysis passes hitting malformed input fail gracefully instead of taking the process down.
net/http: remove serverHandler golang/go
serverHandler is gone from net/http: handling OPTIONS *, the DefaultServeMux fallback, and Request.MultipartForm cleanup had already moved elsewhere, leaving it a thin wrapper kept alive only for external packages reaching it through linkname. That linkname works against badServeHTTP alone, so no external caller loses its hook.
gopls/internal/golang: MoveDeclaration - create package if it doesn't exist golang/tools
MoveDeclaration now creates a package when you select a file in an empty directory, where narrowestPackageForDir returns nothing, by deriving the package name and path the rest of the move logic expects. Moves into directories the go command ignores (paths starting with ".", "_", or containing testdata) and into vendor directories are now rejected.
cmd/internal/obj/loong64: optimize function prologue implementation golang/go
On loong64 the 12-bit immediate fields of st.d and addi.d forced a separate framesize load and a redundant LR store whenever a frame overflowed that range; the prologue now drops the load and the duplicate LR spill. Alongside it, golang/arch picked up loong64 SIMD instruction decode support, and both simd spec docs and the IoctlGetUint64 wrapper in golang/sys advanced without changing what exis...