// Copyright 2022 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 import "unsafe" type T[P any] struct { T /* ERROR "invalid recursive type" */ [P] } func _[P any]() { _ = unsafe.Sizeof(T[int]{}) _ = unsafe.Sizeof(struct{ T[int] }{}) _ = unsafe.Sizeof(T[P]{}) _ = unsafe.Sizeof(struct{ T[P] }{}) } const _ = unsafe.Sizeof(T /* ERROR "invalid recursive type" */ [int]{})