// Copyright 2024 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package p | |
type A[P any] [1]P | |
type B[P any] A[P] | |
type C /* ERROR "invalid recursive type" */ B[C] | |
// test case from issue | |
type Foo[T any] struct { | |
baz T | |
} | |
type Bar[T any] struct { | |
foo Foo[T] | |
} | |
type Baz /* ERROR "invalid recursive type" */ struct { | |
bar Bar[Baz] | |
} |