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

     1  // Copyright 2022 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  // Example from the issue:
     8  type A[T any] interface {
     9  	*T
    10  }
    11  
    12  type B[T any] interface {
    13  	B /* ERROR invalid recursive type */ [*T]
    14  }
    15  
    16  type C[T any, U B[U]] interface {
    17  	*T
    18  }
    19  
    20  // Simplified reproducer:
    21  type X[T any] interface {
    22  	X /* ERROR invalid recursive type */ [*T]
    23  }
    24  
    25  var _ X[int]
    26  
    27  // A related example that doesn't go through interfaces.
    28  type A2[P any] [10]A2 /* ERROR invalid recursive type */ [*P]
    29  
    30  var _ A2[int]