-//
+// The package e is a go/doc test for embedded methods.
PACKAGE e
IMPORTPATH
testdata/e.go
TYPES
- // T1 has no (top-level) M method due to conflict.
+ // T1 has no embedded (level 1) M method due to conflict.
type T1 struct {
// contains filtered or unexported fields
}
// T3.M should appear as method of T3.
func (T3) M()
+ // T1 has no embedded (level 1) M method due to conflict.
+ type T4 struct {
+ T2
+ // contains filtered or unexported fields
+ }
+
-//
+// The package e is a go/doc test for embedded methods.
PACKAGE e
IMPORTPATH
testdata/e.go
TYPES
- // T1 has no (top-level) M method due to conflict.
+ // T1 has no embedded (level 1) M method due to conflict.
type T1 struct {
t1
t2
// T3.M should appear as method of T3.
func (T3) M()
+ // T1 has no embedded (level 1) M method due to conflict.
+ type T4 struct {
+ t2
+ T2
+ }
+
//
type t1 struct{}
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Embedding tests.
-// TODO(gri): This should be comprehensive.
-
+// The package e is a go/doc test for embedded methods.
package e
// ----------------------------------------------------------------------------
// t2.M should not appear as method in a Tx type.
func (t2) M() {}
-// T1 has no (top-level) M method due to conflict.
+// T1 has no embedded (level 1) M method due to conflict.
type T1 struct {
t1
t2
// T3.M should appear as method of T3.
func (T3) M() {}
+
+// ----------------------------------------------------------------------------
+// Don't show conflicting methods M embedded via an exported and non-exported
+// type.
+
+// T1 has no embedded (level 1) M method due to conflict.
+type T4 struct {
+ t2
+ T2
+}