--- /dev/null
+package pkg
+
+type T struct {
+ F string
+}
+
+func fn1() {
+ var x []interface{}
+ var y []int
+
+ for _, v := range y {
+ x = append(x, v)
+ }
+
+ var a, b []int
+ b = append(b, a...)
+
+ var m map[string]int
+ var c []int
+ for _, v := range m {
+ c = append(c, v)
+ }
+
+ var t []T
+ var m2 map[string][]T
+
+ for _, tt := range t {
+ m2[tt.F] = append(m2[tt.F], tt)
+ }
+
+ var out []T
+ for _, tt := range t {
+ out = append(m2[tt.F], tt)
+ }
+ _ = out
+}
+
+func fn2() {
+ var v struct {
+ V int
+ }
+ var in []int
+ var out []int
+
+ for _, v.V = range in {
+ out = append(out, v.V)
+ }
+}
+
+func fn3() {
+ var t []T
+ var out [][]T
+ var m2 map[string][]T
+
+ for _, tt := range t {
+ out = append(out, m2[tt.F])
+ }
+}
+
+func fn4() {
+ var a, b, c []int
+ for _, v := range a {
+ b = append(c, v)
+ }
+ _ = b
+}
+
+func fn5() {
+ var t []T
+ var m2 map[string][]T
+ var out []T
+ for _, tt := range t {
+ out = append(m2[tt.F], tt)
+ }
+ _ = out
+}