Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / staticcheck / testdata / src / CheckSillyBitwiseOps / CheckSillyBitwiseOps.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/staticcheck/testdata/src/CheckSillyBitwiseOps/CheckSillyBitwiseOps.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/staticcheck/testdata/src/CheckSillyBitwiseOps/CheckSillyBitwiseOps.go
new file mode 100644 (file)
index 0000000..f1db389
--- /dev/null
@@ -0,0 +1,31 @@
+package pkg
+
+const a = 0
+
+const (
+       b = iota
+       c
+)
+
+const (
+       y = 42
+
+       d = iota
+)
+
+func fn(x int) {
+       println(x | 0)        // want `x \| 0 always equals x`
+       println(x & 0)        // want `x & 0 always equals 0`
+       println(x ^ 0)        // want `x \^ 0 always equals x`
+       println((x << 5) | 0) // want `\(x << 5\) \| 0 always equals \(x << 5\)`
+       println(x | 1)
+       println(x << 0)
+
+       println(x | a)
+       println(x | b) // want `x \| b always equals x; b is defined as iota`
+       println(x & b) // want `x & b always equals 0; b is defined as iota`
+       println(x | c)
+
+       // d is iota, but its value is 1
+       println(x | d)
+}