github.com/JimmyHuang454/JLS-go@v0.0.0-20230831150107-90d536585ba0/internal/types/testdata/fixedbugs/issue46461.go (about)

     1  // Copyright 2021 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package p
     6  
     7  // test case 1
     8  type T /* ERROR invalid recursive type */ [U interface{ M() T[U] }] int
     9  
    10  type X int
    11  
    12  func (X) M() T[X] { return 0 }
    13  
    14  // test case 2
    15  type A /* ERROR invalid recursive type */ [T interface{ A[T] }] interface{}
    16  
    17  // test case 3
    18  type A2 /* ERROR invalid recursive type */ [U interface{ A2[U] }] interface{ M() A2[U] }
    19  
    20  type I interface{ A2[I]; M() A2[I] }