blob: c8499c1b61d2abfc8443d9cdb3d7db99b4063090 [file] [log] [blame]
// Copyright 2022 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
type S[A, B any] struct {
f int
}
func (S[A, B]) m() {}
// TODO(gri): with type-type inference enabled we should only report one error
// below. See issue #50588.
func _[A any](s S /* ERROR got 1 arguments but 2 type parameters */ [A]) {
// we should see no follow-on errors below
s.f = 1
s.m()
}
// another test case from the issue
func _() {
X(Interface[*F /* ERROR got 1 arguments but 2 type parameters */ [string]](Impl{}))
}
func X[Q Qer](fs Interface[Q]) {
}
type Impl struct{}
func (Impl) M() {}
type Interface[Q Qer] interface {
M()
}
type Qer interface {
Q()
}
type F[A, B any] struct{}
func (f *F[A, B]) Q() {}