| // 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 | |
| } |