// 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 _[P int](x P) int { return x // ERROR cannot use x .* as int value in return statement } func _[P int]() int { return P /* ERROR cannot use P\(1\) .* as int value in return statement */ (1) } func _[P int](x int) P { return x // ERROR cannot use x .* as P value in return statement } func _[P, Q any](x P) Q { return x // ERROR cannot use x .* as Q value in return statement } // test case from issue func F[G interface{ uint }]() int { f := func(uint) int { return 0 } return f(G /* ERROR cannot use G\(1\) .* as uint value in argument to f */ (1)) }