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.