1 // Copyright 2021 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package p
6
7 func f[P any](a, _ P) {
8 var x int
9 // TODO(gri) these error messages, while correct, could be better
10 f(a, x /* ERROR type int of x does not match inferred type P for P */)
11 f(x, a /* ERROR type P of a does not match inferred type int for P */)
12 }
13
14 func g[P any](a, b P) {
15 g(a, b)
16 g(&a, &b)
17 g([]P{}, []P{})
18
19 // work-around: provide type argument explicitly
20 g[*P](&a, &b)
21 g[[]P]([]P{}, []P{})
22 }
23
View as plain text