// errorcheck -lang=go1.17

// 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.

package main

type I1 interface{ I2 } // ERROR "interface"
type I2 int

type I3 interface{ int } // ERROR "interface"

type S struct { // GC_ERROR "invalid recursive type"
	x interface{ S } // GCCGO_ERROR "interface"
}
type I4 interface { // GC_ERROR "invalid recursive type I4\n\tLINE:.* I4 refers to\n\tLINE:.* I4$"
	I4 // GCCGO_ERROR "interface"
}

type I5 interface { // GC_ERROR "invalid recursive type I5\n\tLINE:.* I5 refers to\n\tLINE+4:.* I6 refers to\n\tLINE:.* I5$"
	I6
}

type I6 interface {
	I5 // GCCGO_ERROR "interface"
}
