// errorcheck // Copyright 2018 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. // Verify that follow-on errors due to conflicting // struct field and method names are suppressed. package p type T struct { a, b, c int E } type E struct{} func (T) b() {} // ERROR "field and method named b|redeclares struct field name|field and method with the same name `b'" func (*T) E() {} // ERROR "field and method named E|redeclares struct field name|field and method with the same name `E'" func _() { var x T _ = x.a _ = x.b // no follow-on error here x.b() // no follow-on error here _ = x.c _ = x.E // no follow-on error here x.E() // no follow-on error here }