2018-10-23 15:45:09 -06:00
|
|
|
// 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{}
|
|
|
|
|
2024-03-13 14:57:08 -06:00
|
|
|
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'"
|
2018-10-23 15:45:09 -06:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|