honnef.co/go/tools@v0.4.7/staticcheck/testdata/src/example.com/CheckSillyBitwiseOps/CheckSillyBitwiseOps.go (about) 1 package pkg 2 3 const a = 0 4 5 const ( 6 b = iota 7 c 8 ) 9 10 const ( 11 y = 42 12 13 d = iota 14 ) 15 16 func fn(x int) { 17 println(x | 0) //@ diag(`x | 0 always equals x`) 18 println(x & 0) //@ diag(`x & 0 always equals 0`) 19 println(x ^ 0) //@ diag(`x ^ 0 always equals x`) 20 println((x << 5) | 0) //@ diag(`(x << 5) | 0 always equals (x << 5)`) 21 println(x | 1) 22 println(x << 0) 23 24 println(x | a) 25 println(x | b) //@ diag(`x | b always equals x; b is defined as iota`) 26 println(x & b) //@ diag(`x & b always equals 0; b is defined as iota`) 27 println(x | c) 28 29 // d is iota, but its value is 1 30 println(x | d) 31 }