D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
3206095
/
root
/
opt
/
golang
/
1.22.0
/
src
/
internal
/
types
/
testdata
/
check
/
Filename :
importC.go
back
Copy
// -fakeImportC // Copyright 2015 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. package importC import "C" import _ /* ERROR `cannot rename import "C"` */ "C" import foo /* ERROR `cannot rename import "C"` */ "C" import . /* ERROR `cannot rename import "C"` */ "C" // Test cases extracted from issue #22090. import "unsafe" const _ C.int = 0xff // no error due to invalid constant type type T struct { Name string Ordinal int } func _(args []T) { var s string for i, v := range args { cname := C.CString(v.Name) args[i].Ordinal = int(C.sqlite3_bind_parameter_index(s, cname)) // no error due to i not being "used" C.free(unsafe.Pointer(cname)) } } type CType C.Type const _ CType = C.X // no error due to invalid constant type const _ = C.X // Test cases extracted from issue #23712. func _() { var a [C.ArrayLength]byte _ = a[0] // no index out of bounds error here } // Additional tests to verify fix for #23712. func _() { var a [C.ArrayLength1]byte _ = 1 / len(a) // no division by zero error here and below _ = 1 / cap(a) _ = uint(unsafe.Sizeof(a)) // must not be negative var b [C.ArrayLength2]byte a = b // should be valid }