| package p |
| |
| // old |
| type u1 int |
| |
| // both |
| type A int |
| type u2 int |
| |
| // simple type changes |
| // old |
| var ( |
| V1 string |
| V3 A |
| V7 <-chan int |
| ) |
| |
| // new |
| var ( |
| // i V1: changed from string to []string |
| V1 []string |
| V3 A // OK: same |
| // i V7: changed from <-chan int to chan int |
| V7 chan int |
| ) |
| |
| // interface type changes |
| // old |
| var ( |
| V9 interface{ M() } |
| V10 interface{ M() } |
| V11 interface{ M() } |
| ) |
| |
| // new |
| var ( |
| // i V9: changed from interface{M()} to interface{} |
| V9 interface{} |
| // i V10: changed from interface{M()} to interface{M(); M2()} |
| V10 interface { |
| M2() |
| M() |
| } |
| // i V11: changed from interface{M()} to interface{M(int)} |
| V11 interface{ M(int) } |
| ) |
| |
| // struct type changes |
| // old |
| var ( |
| VS1 struct{ A, B int } |
| VS2 struct{ A, B int } |
| VS3 struct{ A, B int } |
| VS4 struct { |
| A int |
| u1 |
| } |
| ) |
| |
| // new |
| var ( |
| // i VS1: changed from struct{A int; B int} to struct{B int; A int} |
| VS1 struct{ B, A int } |
| // i VS2: changed from struct{A int; B int} to struct{A int} |
| VS2 struct{ A int } |
| // i VS3: changed from struct{A int; B int} to struct{A int; B int; C int} |
| VS3 struct{ A, B, C int } |
| VS4 struct { |
| A int |
| u2 |
| } |
| ) |