1// errorcheck -lang=go1.17
2
3// Copyright 2009 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7package main
8
9type I1 interface{ I2 } // ERROR "interface"
10type I2 int
11
12type I3 interface{ int } // ERROR "interface"
13
14type S struct { // GC_ERROR "invalid recursive type"
15	x interface{ S } // GCCGO_ERROR "interface"
16}
17type I4 interface { // GC_ERROR "invalid recursive type: I4 refers to itself"
18	I4 // GCCGO_ERROR "interface"
19}
20
21type I5 interface { // GC_ERROR "invalid recursive type I5\n\tLINE:.* I5 refers to\n\tLINE+4:.* I6 refers to\n\tLINE:.* I5$"
22	I6
23}
24
25type I6 interface {
26	I5 // GCCGO_ERROR "interface"
27}
28