summaryrefslogtreecommitdiff
path: root/test/interface/recursive.go
blob: 707cfcb8c3d780a187c3da66b3e78ea417aebbf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// $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) bar() I1;
func (t T) foo() I2 { return t }
func (t T) bar() I1 { return t }