// errorcheck

// Copyright 2015 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.

// Test that fields hide promoted methods.
// http://golang.org/issue/4365

package main

type T interface {
        M()
}

type M struct{}

func (M) M() {}

type Foo struct {
        M
}

func main() {
        var v T = Foo{} // ERROR "has no methods|not a method|cannot use"
        _ = v
}
