| Linux in-mum-web1499.main-hosting.eu 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64 Path : /opt/golang/1.22.0/src/internal/types/testdata/fixedbugs/ |
| Current File : //opt/golang/1.22.0/src/internal/types/testdata/fixedbugs/issue59956.go |
// Copyright 2023 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
func f1(func(int))
func f2(func(int), func(string))
func f3(func(int), func(string), func(float32))
func g1[P any](P) {}
func _() {
f1(g1)
f2(g1, g1)
f3(g1, g1, g1)
}
// More complex examples
func g2[P any](P, P) {}
func h3[P any](func(P), func(P), func() P) {}
func h4[P, Q any](func(P), func(P, Q), func() Q, func(P, Q)) {}
func r1() int { return 0 }
func _() {
h3(g1, g1, r1)
h4(g1, g2, r1, g2)
}
// Variadic cases
func f(func(int))
func g[P any](P) {}
func d[P any](...func(P)) {}
func _() {
d /* ERROR "cannot infer P" */ ()
d(f)
d(f, g)
d(f, g, g)
d /* ERROR "cannot infer P" */ (g, g, g)
d(g, g, f)
d(g, f, g, f)
}