summaryrefslogtreecommitdiff
path: root/test/interface/recursive.go
blob: 87509838f4c08a2866df5a89ac707fc4e0d50c5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// $G $D/$F.go || echo BUG: should compile

// 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 mutually recursive interfaces

package main

type I2 interface

type I1 interface {
	foo() I2
}

type I2 interface {
	bar() I1
}

type T int
func (t T) foo() I2 { return t }
func (t T) bar() I1 { return t }