LittleDemon WebShell


Linux in-mum-web1499.main-hosting.eu 5.14.0-503.40.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Mon May 5 06:06:04 EDT 2025 x86_64
Path : /opt/golang/1.22.0/src/internal/types/testdata/fixedbugs/
File Upload :
Command :
Current File : //opt/golang/1.22.0/src/internal/types/testdata/fixedbugs/issue52698.go

// 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

// correctness check: ensure that cycles through generic instantiations are detected
type T[P any] struct {
	_ P
}

type S /* ERROR "invalid recursive type" */ struct {
	_ T[S]
}

// simplified test 1

var _ A1[A1[string]]

type A1[P any] struct {
	_ B1[P]
}

type B1[P any] struct {
	_ P
}

// simplified test 2
var _ B2[A2]

type A2 struct {
	_ B2[string]
}

type B2[P any] struct {
	_ C2[P]
}

type C2[P any] struct {
	_ P
}

// test case from issue
type T23 interface {
	~struct {
		Field0 T13[T15]
	}
}

type T1[P1 interface {
}] struct {
	Field2 P1
}

type T13[P2 interface {
}] struct {
	Field2 T1[P2]
}

type T15 struct {
	Field0 T13[string]
}

LittleDemon - FACEBOOK
[ KELUAR ]