mirror of
https://github.com/golang/go
synced 2024-11-05 16:46:10 -07:00
44 lines
826 B
Go
44 lines
826 B
Go
|
// runoutput
|
||
|
|
||
|
// Copyright 2014 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.
|
||
|
|
||
|
// Issue 7867.
|
||
|
|
||
|
package main
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
const tpl = `
|
||
|
func Test%d(t %s) {
|
||
|
_ = t
|
||
|
_ = t
|
||
|
}
|
||
|
`
|
||
|
|
||
|
func main() {
|
||
|
fmt.Println("package main")
|
||
|
types := []string{
|
||
|
// These types always passed
|
||
|
"bool", "int", "rune",
|
||
|
"*int", "uintptr",
|
||
|
"float32", "float64",
|
||
|
"chan struct{}",
|
||
|
"map[string]struct{}",
|
||
|
"func()", "func(string)error",
|
||
|
|
||
|
// These types caused compilation failures
|
||
|
"complex64", "complex128",
|
||
|
"struct{}", "struct{n int}", "struct{e error}", "struct{m map[string]string}",
|
||
|
"string",
|
||
|
"[4]byte",
|
||
|
"[]byte",
|
||
|
"interface{}", "error",
|
||
|
}
|
||
|
for i, typ := range types {
|
||
|
fmt.Printf(tpl, i, typ)
|
||
|
}
|
||
|
fmt.Println("func main() {}")
|
||
|
}
|