github.com/go-asm/go@v1.21.1-0.20240213172139-40c5ead50c48/types/testdata/check/cycles3.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package p 6 7 import "unsafe" 8 9 var ( 10 _ A = A(nil).a().b().c().d().e().f() 11 _ A = A(nil).b().c().d().e().f() 12 _ A = A(nil).c().d().e().f() 13 _ A = A(nil).d().e().f() 14 _ A = A(nil).e().f() 15 _ A = A(nil).f() 16 _ A = A(nil) 17 ) 18 19 type ( 20 A interface { 21 a() B 22 B 23 } 24 25 B interface { 26 b() C 27 C 28 } 29 30 C interface { 31 c() D 32 D 33 } 34 35 D interface { 36 d() E 37 E 38 } 39 40 E interface { 41 e() F 42 F 43 } 44 45 F interface { 46 f() A 47 } 48 ) 49 50 type ( 51 U /* ERROR "invalid recursive type" */ interface { 52 V 53 } 54 55 V interface { 56 v() [unsafe.Sizeof(u)]int 57 } 58 ) 59 60 var u U