// errorcheck | |
// Copyright 2010 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. | |
package main | |
type I1 interface { // GC_ERROR "invalid recursive type" | |
m() I2 | |
// TODO(mdempsky): The duplicate method error is silly | |
// and redundant, but tricky to prevent as it's actually | |
// being emitted against the underlying interface type | |
// literal, not I1 itself. | |
I2 // ERROR "loop|interface|duplicate method m" | |
} | |
type I2 interface { | |
I1 // GCCGO_ERROR "loop|interface" | |
} | |
var i1 I1 = i2 | |
var i2 I2 | |
var i2a I2 = i1 |