1  
     2  
     3  
     4  
     5  
     6  
     7  package decls4
     8  
     9  type (
    10  	T0 [10]int
    11  	T1 []byte
    12  	T2 struct {
    13  		x int
    14  	}
    15  	T3 interface{
    16  		m() T2
    17  	}
    18  	T4 func(int, T0) chan T2
    19  )
    20  
    21  type (
    22  	Ai = int
    23  	A0 = T0
    24  	A1 = T1
    25  	A2 = T2
    26  	A3 = T3
    27  	A4 = T4
    28  
    29  	A10 = [10]int
    30  	A11 = []byte
    31  	A12 = struct {
    32  		x int
    33  	}
    34  	A13 = interface{
    35  		m() A2
    36  	}
    37  	A14 = func(int, A0) chan A2
    38  )
    39  
    40  
    41  var (
    42  	xi_ int
    43  	ai Ai = xi_
    44  
    45  	x0 T0
    46  	a0 A0 = x0
    47  
    48  	x1 T1
    49  	a1 A1 = x1
    50  
    51  	x2 T2
    52  	a2 A2 = x2
    53  
    54  	x3 T3
    55  	a3 A3 = x3
    56  
    57  	x4 T4
    58  	a4 A4 = x4
    59  )
    60  
    61  
    62  func (Ai ) m1() {}
    63  func (T0) m1() {}
    64  func (A0) m1  () {}
    65  func (A0) m2 () {}
    66  func (A3  ) m1 () {}
    67  func (A10  ) m1() {}
    68  
    69  
    70  var _ interface{ m1(); m2() } = x0
    71  
    72  
    73  type T struct{}
    74  
    75  var (
    76  	_ = T.m
    77  	_ = T{}.m
    78  	_ interface{m()} = T{}
    79  )
    80  
    81  var (
    82  	_ = T.n
    83  	_ = T{}.n
    84  	_ interface{m(); n()} = T{}
    85  )
    86  
    87  type U = T
    88  func (U) m() {}
    89  
    90  
    91  type (
    92  	V0 = V1
    93  	V1 = (V2)
    94  	V2 = ((V3))
    95  	V3 = T
    96  )
    97  
    98  func (V0) m  () {}
    99  func (V1) n() {}
   100  
   101  
   102  type (
   103  	W0  = W1
   104  	W1 = (W2)
   105  	W2 = ((W0))
   106  )
   107  
   108  func (W0) m() {} 
   109  func (W1) n() {}
   110  
   111  
   112  type (
   113  	B0 = B1
   114  	B1 = B2
   115  	B2 = int
   116  )
   117  
   118  func (B0  ) m() {}
   119  func (B1  ) n() {}
   120  
   121  
   122  type (
   123  	C2  = C2
   124  	C3  = C4
   125  	C4 = C3
   126  	C5 struct {
   127  		f *C6
   128  	}
   129  	C6 = C5
   130  	C7   struct {
   131  		f C8
   132  	}
   133  	C8 = C7
   134  )
   135  
   136  
   137  var (
   138  	s0 struct { T0 }
   139  	s1 struct { A0 } = s0  
   140  )
   141  
   142  
   143  func _(s struct{A0}) { s.A0 = x0 }
   144  
   145  type eX struct{xf int}
   146  
   147  func (eX) xm()
   148  
   149  type eY = struct{eX} 
   150  
   151  type eZ = *struct{eX} 
   152  
   153  type eA struct {
   154  	eX 
   155  }
   156  
   157  type eA2 struct {
   158  	*eX 
   159  }
   160  
   161  type eB struct {
   162  	eY 
   163  }
   164  
   165  type eB2 struct {
   166  	*eY 
   167  }
   168  
   169  type eC struct {
   170  	eZ 
   171  }
   172  
   173  var (
   174  	_ = eA{}.xf
   175  	_ = eA{}.xm
   176  	_ = eA2{}.xf
   177  	_ = eA2{}.xm
   178  	_ = eB{}.xf
   179  	_ = eB{}.xm
   180  	_ = eB2{}.xf
   181  	_ = eB2{}.xm
   182  	_ = eC{}.xf
   183  	_ = eC{}.xm
   184  )
   185  
   186  
   187  type eD struct {
   188  	eY
   189  	eZ
   190  }
   191  
   192  var (
   193  	_ = eD{}.xf 
   194  	_ = eD{}.xm 
   195  )
   196  
   197  var (
   198  	_ interface{ xm() } = eD  {}
   199  )
View as plain text