// 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 var _ interface{ m() } = struct /* ERROR "m is a field, not a method" */ { m func() }{} var _ interface{ m() } = & /* ERROR "m is a field, not a method" */ struct { m func() }{} var _ interface{ M() } = struct /* ERROR "missing method M" */ { m func() }{} var _ interface{ M() } = & /* ERROR "missing method M" */ struct { m func() }{} // test case from issue type I interface{ m() } type T struct{ m func() } type M struct{} func (M) m() {} func _() { var t T var m M var i I i = m i = t // ERROR "m is a field, not a method" _ = i }