.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.1.1 / simple / testdata / src / CheckRedundantSprintf / LintRedundantSprintf.go
1 package pkg
2
3 import "fmt"
4
5 type T1 string
6 type T2 T1
7 type T3 int
8 type T4 int
9 type T5 int
10 type T6 string
11 type T9 string
12 type T11 int
13
14 func (T3) String() string        { return "" }
15 func (T6) String() string        { return "" }
16 func (T4) String(arg int) string { return "" }
17 func (T5) String()               {}
18
19 func (T9) Format(f fmt.State, c rune)  {}
20 func (T11) Format(f fmt.State, c rune) {}
21 func (T11) String() string             { return "" }
22
23 func fn() {
24         var t1 T1
25         var t2 T2
26         var t3 T3
27         var t4 T4
28         var t5 T5
29         var t6 T6
30         var t9 T9
31         var t11 T11
32         _ = fmt.Sprintf("%s", "test")      // want `is already a string`
33         _ = fmt.Sprintf("%s", t1)          // want `is a string`
34         _ = fmt.Sprintf("%s", t2)          // want `is a string`
35         _ = fmt.Sprintf("%s", t3)          // want `should use String\(\) instead of fmt\.Sprintf`
36         _ = fmt.Sprintf("%s", t3.String()) // want `is already a string`
37         _ = fmt.Sprintf("%s", t4)
38         _ = fmt.Sprintf("%s", t5)
39         _ = fmt.Sprintf("%s %s", t1, t2)
40         _ = fmt.Sprintf("%v", t1)
41         _ = fmt.Sprintf("%s", t6) // want `should use String\(\) instead of fmt\.Sprintf`
42
43         // don't simplify types that implement fmt.Formatter
44         _ = fmt.Sprintf("%s", t9)
45         _ = fmt.Sprintf("%s", t11)
46 }