| // Copyright 2020 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 ( |
| A1[P any] [10]A1 /* ERROR "invalid recursive type" */ [P] |
| A2[P any] [10]A2 /* ERROR "invalid recursive type" */ [*P] |
| A3[P any] [10]*A3[P] |
| |
| L1[P any] []L1[P] |
| |
| S1[P any] struct{ f S1 /* ERROR "invalid recursive type" */ [P] } |
| S2[P any] struct{ f S2 /* ERROR "invalid recursive type" */ [*P] } // like example in issue |
| S3[P any] struct{ f *S3[P] } |
| |
| I1[P any] interface{ I1 /* ERROR "invalid recursive type" */ [P] } |
| I2[P any] interface{ I2 /* ERROR "invalid recursive type" */ [*P] } |
| I3[P any] interface{ *I3 /* ERROR "interface contains type constraints" */ [P] } |
| ) |