1
0
mirror of https://github.com/golang/go synced 2024-11-23 06:40:05 -07:00

misc/cgo/errors: test that the Go rune type is not identical to C.int

rune has a well-defined size, but C.int is implementation-specified.
Using one as the other should require an explicit conversion.

updates #13467

Change-Id: I53ab2478427dca790efdcc197f6b8d9fbfbd1847
Reviewed-on: https://go-review.googlesource.com/63730
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Bryan C. Mills 2017-09-13 17:21:07 -04:00 committed by Bryan Mills
parent 814d92230a
commit 107744e94c
2 changed files with 16 additions and 0 deletions

View File

@ -114,6 +114,7 @@ func TestReportsTypeErrors(t *testing.T) {
"issue11097b.go",
"issue13129.go",
"issue13423.go",
"issue13467.go",
"issue13635.go",
"issue13830.go",
"issue16116.go",

View File

@ -0,0 +1,15 @@
// Copyright 2017 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 p
/*
static int transform(int x) { return x; }
*/
import "C"
func F() {
var x rune = '✈'
var _ rune = C.transform(x) // ERROR HERE: C\.int
}