Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync/atomic: spurious "invalid recursive type" compilation error for "sync/atomic".Pointer #57415

Closed
yuri-kilochek opened this issue Dec 20, 2022 · 2 comments
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge

Comments

@yuri-kilochek
Copy link

What version of Go are you using (go version)?

$ go version
go version go1.19.4 linux/amd64

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/user/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19.4"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/user/gobug/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1405439721=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Tried to go build the following:

package bug

import "sync/atomic"

type node struct {
    next atomic.Pointer[node]
}

Not providing go.dev/play link because it's running go1.19.2, where the bug does not occur.

What did you expect to see?

It compiles without errors.

What did you see instead?

go build
# bug
./bug.go:5:6: invalid recursive type node
	./bug.go:5:6: node refers to
	./bug.go:6:16: atomic.Pointer refers to
	./bug.go:5:6: node
@yuri-kilochek yuri-kilochek changed the title cmd/go: spurious "invalid recursive type" compilation error for atomic.Pointer cmd/go: spurious "invalid recursive type" compilation error for "sync/atomic".Pointer Dec 20, 2022
@yuri-kilochek
Copy link
Author

yuri-kilochek commented Dec 20, 2022

@yuri-kilochek yuri-kilochek changed the title cmd/go: spurious "invalid recursive type" compilation error for "sync/atomic".Pointer sync/atomic: spurious "invalid recursive type" compilation error for "sync/atomic".Pointer Dec 20, 2022
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Dec 20, 2022
@seankhliao
Copy link
Member

Duplicate of #57124

@seankhliao seankhliao marked this as a duplicate of #57124 Dec 20, 2022
@seankhliao seankhliao closed this as not planned Won't fix, can't repro, duplicate, stale Dec 20, 2022
@golang golang locked and limited conversation to collaborators Dec 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

3 participants