github.com/songshiyun/revive@v1.1.5-0.20220323112655-f8433a19b3c5/testdata/constant-logical-expr.go (about) 1 package fixtures 2 3 import "fmt" 4 5 // from github.com/ugorji/go/codec/helper.go 6 func isNaN(f float64) bool { return f != f } // MATCH /expression always evaluates to false/ 7 8 func skip(f float64) bool { return f != g } 9 10 func foo1(f float64) bool { return foo2(2.) > foo2(2.) } // MATCH /expression always evaluates to false/ 11 12 func foo2(f float64) bool { return f < f } // MATCH /expression always evaluates to false/ 13 14 func foo3(f float64) bool { return f <= f } // MATCH /expression always evaluates to true/ 15 16 func foo4(f float64) bool { return f >= f } // MATCH /expression always evaluates to true/ 17 18 func foo5(f float64) bool { return f == f } // MATCH /expression always evaluates to true/ 19 20 func foo6(f float64) bool { return fmt.Sprintf("%s", buf1.Bytes()) == fmt.Sprintf("%s", buf1.Bytes()) } // MATCH /expression always evaluates to true/ 21 22 func foo7(f float64) bool { 23 return fFoo(fBar(isNaN(10.), bpar), 10000) || fFoo(fBar(isNaN(10.), bpar), 10000) // MATCH /left and right hand-side sub-expressions are the same/ 24 } 25 26 func foo8(f float64) bool { 27 return fFoo(fBar(isNaN(10.), bpar), 10000) && fFoo(fBar(isNaN(10.), bpar), 10000) // MATCH /left and right hand-side sub-expressions are the same/ 28 }