| // errorcheck | |
| // Copyright 2020 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| // Tests that errors are reported for misuse of linkname. | |
| package p | |
| import _ "unsafe" | |
| type t int | |
| var x, y int | |
| func F[T any](T) {} | |
| //go:linkname x ok | |
| // ERROR "//go:linkname must refer to declared function or variable" | |
| // ERROR "//go:linkname must refer to declared function or variable" | |
| // ERROR "duplicate //go:linkname for x" | |
| // ERROR "//go:linkname reference of an instantiation is not allowed" | |
| //line linkname3.go:20 | |
| //go:linkname nonexist nonexist | |
| //go:linkname t notvarfunc | |
| //go:linkname x duplicate | |
| //go:linkname i F[go.shape.int] |