Go version
devel go1.23-95a3779ebc linux/amd64
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/iant/.cache/go-build'
GOENV='/home/iant/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/iant/gopath/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/iant/gopath'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org'
GOROOT='/home/iant/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/home/iant/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='devel go1.23-95a3779ebc Thu May 9 22:12:20 2024 +0000'
GODEBUG=''
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build927346917=/tmp/go-build -gno-record-gcc-switches'
What did you do?
https://go.dev/cl/583755 removed the ifaceIndir function from the reflect package. Unfortunately, ifaceIndir is accessed using go:linkname by the popular github.com/goccy/go-json package. A bug has been filed to fix this upstream: https://github.com/goccy/go-json/issues/506. Until that bug is fixed and the fix is distributed, we need to keep ifaceIndir available.
I'm filing this bug so that we remember to remove it. With luck we can remove this in the 1.24 release. Marking as a release blocker to make sure we consider it for 1.24.
What did you see happen?
ifaceIndir present.
What did you expect to see?
No ifaceIndir.
Comment From: gopherbot
Change https://go.dev/cl/584676 mentions this issue: reflect: restore ifaceIndir function for now
Comment From: rsc
I think we can close this issue as done. We've documented why ifaceIndir needs to stay, as part of #67401.