The following compiles fine on go1.19.3 and fails on go1.19.4:
~ $ cat test.go
package main
import "sync/atomic"
type tree struct {
links [2]atomic.Pointer[tree]
}
func main() {
}
~$ go run test.go
~$ go version
go version go1.19.3 linux/amd64
And on go1.19.4:
~ $ go run test.go
# command-line-arguments
./test.go:5:6: invalid recursive type tree
./test.go:5:6: tree refers to
./test.go:6:20: atomic.Pointer refers to
./test.go:5:6: tree
~ $ go version
go version go1.19.4 linux/amd64
The following compiles fine on go1.19.3 and fails on go1.19.4:
And on go1.19.4: