go issue52698 源码
golang issue52698 代码
文件路径:/src/cmd/compile/internal/types2/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 illegal cycle */ 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]
}
相关信息
相关文章
                        
                            0
                        
                        
                             赞
                        
                    
                    
                热门推荐
- 
                        2、 - 优质文章
 - 
                        3、 gate.io
 - 
                        7、 openharmony
 - 
                        9、 golang