Skip to content

Homebrew 0.10.0 Go 1.25 build disables typed indexing for Go 1.26 modules #282

Open

Description

@jxsl13

Reproduction

On macOS arm64 with the Homebrew spectackle 0.10.0 binary, run:

spectackle reindex -root PATH_TO_A_GO_1_26_MODULE

The target module declares Go 1.26 and builds/tests with the installed Go 1.26 toolchain.

Observed

Reindex reports that the application was built with Go 1.25, emits hundreds of package loading errors such as package requires newer Go version go1.26, and disables the typed-call pass for all affected packages. It falls back to the syntactic graph, so symbol discovery remains available but typed cross-package call edges are absent.

Expected

The published Homebrew binary should be built with a Go toolchain new enough to load modules supported by the current Go release used by target repositories, or should fail with one concise actionable compatibility diagnostic before attempting every package.

Isolated cause

Go packages loaded through go/packages inherit the Go version ceiling of the toolchain used to build or execute the application. The 0.10.0 Homebrew artifact identifies its ceiling as Go 1.25, while the indexed module requires Go 1.26. Rebuilding the release artifact with Go 1.26 should restore typed indexing; retaining an explicit startup version check would make future mismatches cheaper to diagnose.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions