.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.1.1 / analysis / facts / testdata / src / Purity / CheckPureFunctions.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.1.1/analysis/facts/testdata/src/Purity/CheckPureFunctions.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.1.1/analysis/facts/testdata/src/Purity/CheckPureFunctions.go
new file mode 100644 (file)
index 0000000..ca2edd3
--- /dev/null
@@ -0,0 +1,26 @@
+package pkg
+
+func foo(a, b int) int { return a + b } // want foo:"is pure"
+func bar(a, b int) int {
+       println(a + b)
+       return a + b
+}
+
+func empty()            {}
+func stubPointer() *int { return nil }
+func stubInt() int      { return 0 }
+
+func fn3() {
+       empty()
+       stubPointer()
+       stubInt()
+}
+
+func ptr1() *int { return new(int) }
+func ptr2() *int { var x int; return &x }
+func lit() []int { return []int{} }
+
+var X int
+
+func load() int        { _ = X; return 0 }
+func assign(x int) int { _ = x; return 0 } // want assign:"is pure"