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