blob: c2f282bae11a9817620365e445a9bc8b3f3b310f [file] [log] [blame]
// Copyright 2020 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.
// If types2.Config.AcceptMethodTypeParams is set,
// the type checker accepts methods that have their
// own type parameter list.
package p
type S struct{}
func (S) m[T any](v T)
// TODO(gri) Once we collect interface method type parameters
// in the parser, we can enable these tests again.
/*
type I interface {
m[T any](v T)
}
type J interface {
m[T any](v T)
}
var _ I = S{}
var _ I = J(nil)
type C interface{ n() }
type Sc struct{}
func (Sc) m[T C](v T)
type Ic interface {
m[T C](v T)
}
type Jc interface {
m[T C](v T)
}
var _ Ic = Sc{}
var _ Ic = Jc(nil)
// TODO(gri) These should fail because the constraints don't match.
var _ I = Sc{}
var _ I = Jc(nil)
var _ Ic = S{}
var _ Ic = J(nil)
*/