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

cmd/cgo: C.* cannot be used for type constraints #52542

Open
hajimehoshi opened this issue Apr 25, 2022 · 0 comments
Open

cmd/cgo: C.* cannot be used for type constraints #52542

hajimehoshi opened this issue Apr 25, 2022 · 0 comments
Labels
NeedsFix
Milestone

Comments

@hajimehoshi
Copy link
Member

@hajimehoshi hajimehoshi commented Apr 25, 2022

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

$ go version
go version go1.18 darwin/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="/Users/hajimehoshi/Library/Caches/go-build"
GOENV="/Users/hajimehoshi/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/hajimehoshi/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/hajimehoshi/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/hajimehoshi/test/generics/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 -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/60/khbk2xqn1c5bml1byjn89dwc0000gn/T/go-build3847202091=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Try compiling:

package main

import "C"

func Foo[T ~C.int](x T) T {
        return x
}

func main() {
}

What did you expect to see?

The compilation succeeds

What did you see instead?

The compilation failed

$ go build main.go
# command-line-arguments
./main.go:5:13: undefined: C
@ianlancetaylor ianlancetaylor changed the title cmd/compile: C.* cannot be used for type constraints cmd/cgo: C.* cannot be used for type constraints Apr 25, 2022
@ianlancetaylor ianlancetaylor added the NeedsFix label Apr 25, 2022
@ianlancetaylor ianlancetaylor added this to the Go1.19 milestone Apr 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsFix
Projects
None yet
Development

No branches or pull requests

2 participants