go/test/interface/embed1.go
Russ Cox 4c3a85d73a 6g bug fixes:
* bug211
 * embedded interfaces with lowercase methods
 * var _ = f() at top level

R=ken
OCL=35898
CL=35898
2009-10-19 19:27:40 -07:00

46 lines
684 B
Go

// $G $D/embed0.go && $G $D/$F.go && $L embed0.$A $F.$A && ./$A.out
// Copyright 2009 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.
// Check that embedded interface types can have local methods.
package main
import "./embed0"
type T int
func (t T) m() {}
type I interface { m() }
type J interface { I; }
type PI interface { p.I; }
type PJ interface { p.J; }
func main() {
var i I;
var j J;
var t T;
i = t;
j = t;
_ = i;
_ = j;
i = j;
_ = i;
j = i;
_ = j;
var pi PI;
var pj PJ;
var pt p.T;
pi = pt;
pj = pt;
_ = pi;
_ = pj;
pi = pj;
_ = pi;
pj = pi;
_ = pj;
}