modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/bug251.go (about)

     1  // errorcheck
     2  
     3  // Copyright 2010 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  
     7  package main
     8  
     9  type I1 interface { // GC_ERROR "invalid recursive type"
    10  	m() I2
    11  	// TODO(mdempsky): The duplicate method error is silly
    12  	// and redundant, but tricky to prevent as it's actually
    13  	// being emitted against the underlying interface type
    14  	// literal, not I1 itself.
    15  	I2 // ERROR "loop|interface|duplicate method m"
    16  }
    17  
    18  type I2 interface {
    19  	I1 // GCCGO_ERROR "loop|interface"
    20  }
    21  
    22  
    23  var i1 I1 = i2
    24  var i2 I2
    25  var i2a I2 = i1