honnef.co/go/tools@v0.4.7/staticcheck/testdata/src/example.com/CheckEncodingBinary/CheckEncodingBinary.go (about) 1 package pkg 2 3 import ( 4 "encoding/binary" 5 "io" 6 "io/ioutil" 7 "log" 8 ) 9 10 func fn() { 11 type T1 struct { 12 A int32 13 } 14 type T2 struct { 15 A int32 16 B int 17 } 18 type T3 struct { 19 A []int32 20 } 21 type T4 struct { 22 A *int32 23 } 24 type T5 struct { 25 A int32 26 } 27 type T6 []byte 28 29 var x1 int 30 var x2 int32 31 var x3 []int 32 var x4 []int32 33 var x5 [1]int 34 var x6 [1]int32 35 var x7 T1 36 var x8 T2 37 var x9 T3 38 var x10 T4 39 var x11 = &T5{} 40 var x13 []byte 41 var x14 *[]byte 42 var x15 T6 43 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x1)) //@ diag(`cannot be used with binary.Write`) 44 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x2)) 45 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x3)) //@ diag(`cannot be used with binary.Write`) 46 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x4)) 47 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x5)) //@ diag(`cannot be used with binary.Write`) 48 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x6)) 49 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x7)) 50 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x8)) //@ diag(`cannot be used with binary.Write`) 51 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x9)) //@ diag(`cannot be used with binary.Write`) 52 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x10)) //@ diag(`cannot be used with binary.Write`) 53 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x11)) 54 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, &x13)) 55 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, &x14)) //@ diag(`cannot be used with binary.Write`) 56 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, x15)) 57 log.Println(binary.Write(ioutil.Discard, binary.LittleEndian, &x15)) 58 log.Println(binary.Write(fn2())) //@ diag(`cannot be used with binary.Write`) 59 log.Println(binary.Write(fn3())) 60 } 61 62 func fn2() (io.Writer, binary.ByteOrder, int) { return nil, binary.LittleEndian, 0 } 63 func fn3() (io.Writer, binary.ByteOrder, uint32) { return nil, binary.LittleEndian, 0 }