// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Check that interface{M()} = *interface{M()} produces a compiler error.
+
package main
type Inst interface {
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Check methods derived from embedded interface and *interface values.
+
package main
import "os"
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Check that interface conversion fails when method is missing.
+
package main
type S struct
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Check methods with different return types.
+
package main
type S struct { a int }
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Static error messages about interface conversions.
+
package main
type T struct { a int }
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Interface values containing structures.
+
package main
import "os"
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// Interface comparisons using types hidden
+// inside reflected-on structs.
+
package main
import "reflect"
// $G $F.go && $L $F.$A && ./$A.out
+// Implicit methods for embedded types.
+// Mixed pointer and non-pointer receivers.
+
package main
type T int
// errchk $G $F.go
+// Error messages about missing implicit methods.
+
package main
type T int