blob: 72eea1ef596204c3613d1706bd04045399648d66 [file] [log] [blame]
// Copyright 2021 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 f[P any](a, _ P) {
var x int
// TODO(gri) these error messages, while correct, could be better
f(a, x /* ERROR type int of x does not match inferred type P for P */)
f(x, a /* ERROR type P of a does not match inferred type int for P */)
}
func g[P any](a, b P) {
g(a, b)
g(&a, &b)
g([]P{}, []P{})
// work-around: provide type argument explicitly
g[*P](&a, &b)
g[[]P]([]P{}, []P{})
}