Skip to content

cmd/api: TestCheck panics on exported types that are type aliases #64958

@dhobsd

Description

@dhobsd

Go version

go version devel go1.22-6db1102605 Wed Jan 3 21:01:56 2024 +0000 linux/amd64

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

GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/usr/local/google/home/dhobsd/.cache/go-build'
GOENV='/usr/local/google/home/dhobsd/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/usr/local/google/home/dhobsd/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/usr/local/google/home/dhobsd/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/local/google/home/dhobsd/gocontrib/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/google/home/dhobsd/gocontrib/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='devel go1.22-6db1102605 Wed Jan 3 21:01:56 2024 +0000'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/usr/local/google/home/dhobsd/gocontrib/go/src/go.mod'
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-build1790854647=/tmp/go-build -gno-record-gcc-switches'

What did you do?

This was actually encountered in the Fuchsia port, but it applies here. If one introduces an exported type in the Go API that aliases a basic type, TestCheck will fail. I have a patch and test to fix this that I'll be uploading shortly once I have an issue number.

What did you expect to see?

I expected TestCheck to pass.

What did you see instead?

interface conversion: types.Type is *types.Basic, not *types.Named

Metadata

Metadata

Assignees

No one assigned

    Labels

    FixPendingIssues that have a fix which has not yet been reviewed or submitted.FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.TestingAn issue that has been verified to require only test changes, not just a test failure.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions