mirror of
https://github.com/golang/go
synced 2024-11-18 05:34:48 -07:00
4f61fc96b2
The ken directory is untouched so we have some examples with explicit semis. R=gri CC=golang-dev https://golang.org/cl/2157041
46 lines
649 B
Go
46 lines
649 B
Go
// $G $D/embed0.go && $G $D/$F.go && $L $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
|
|
}
|