--- /dev/null
+package pkg
+
+import "sort"
+
+type T1 []int
+type T2 T1
+type T3 [1]int
+type T4 string
+
+func fn(arg1 interface{}, arg2 []int) {
+ var v1 T1
+ var v2 T2
+ var v3 T3
+ var v4 T4
+ var v5 []int
+ var v6 interface{} = []int{}
+ var v7 interface{}
+ if true {
+ v7 = []int{}
+ } else {
+ v7 = 0
+ }
+ var v8 interface{} = 0
+ sort.Slice(arg1, nil)
+ sort.Slice(arg2, nil)
+ sort.Slice(v1, nil)
+ sort.Slice(v2, nil)
+ sort.Slice(v3, nil) // want `sort\.Slice must only be called on slices, was called on \[1\]int`
+ sort.Slice(v4, nil) // want `sort\.Slice must only be called on slices, was called on string`
+ sort.Slice(v5, nil)
+ sort.Slice(v6, nil)
+ sort.Slice(v7, nil)
+ sort.Slice(v8, nil) // want `sort\.Slice must only be called on slices, was called on int`
+ sort.Slice([]int{}, nil)
+ sort.Slice(0, nil) // want `sort\.Slice must only be called on slices, was called on int`
+ sort.Slice(nil, nil) // want `cannot call sort\.Slice on nil literal`
+ sort.SliceIsSorted(0, nil) // want `sort\.SliceIsSorted must only be called on slices, was called on int`
+ sort.SliceStable(0, nil) // want `sort\.SliceStable must only be called on slices, was called on int`
+}