Fixes issue 8078.
From-SVN: r216347
if (this->advance_token()->is_op(OPERATOR_LPAREN))
{
// This is a MethodName.
+ if (name == "_")
+ error_at(this->location(), "methods must have a unique non-blank name");
name = this->gogo_->pack_hidden_name(name, is_exported);
Type* type = this->signature(NULL, location);
if (type == NULL)
type B1 interface {
- _()
+ _() // ERROR "methods must have a unique non-blank name"
}
type B2 interface {
M()
- _()
+ _() // ERROR "methods must have a unique non-blank name"
}
type T2 struct{}
func main() {
shouldPanic(p1)
- shouldPanic(p2)
}
func p1() {
func (s *S) _() {}
-type B interface {
- _()
-}
-
-func p2() {
- var s *S
- var b B
- var e interface{}
- e = s
- b = e.(B)
- _ = b
-}
-
func shouldPanic(f func()) {
defer func() {
if recover() == nil {