// 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() {}") }