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 / simple / testdata / src / CheckBytesBufferConversions / LintBytesBufferConversions.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/simple/testdata/src/CheckBytesBufferConversions/LintBytesBufferConversions.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/simple/testdata/src/CheckBytesBufferConversions/LintBytesBufferConversions.go
new file mode 100644 (file)
index 0000000..de5d1b7
--- /dev/null
@@ -0,0 +1,20 @@
+package pkg
+
+import (
+       "bytes"
+)
+
+func fn() {
+       buf := bytes.NewBufferString("str")
+       _ = string(buf.Bytes())  // want `should use buf\.String\(\) instead of string\(buf\.Bytes\(\)\)`
+       _ = []byte(buf.String()) // want `should use buf\.Bytes\(\) instead of \[\]byte\(buf\.String\(\)\)`
+
+       m := map[string]*bytes.Buffer{"key": buf}
+       _ = string(m["key"].Bytes())  // want `should use m\["key"\]\.String\(\) instead of string\(m\["key"\]\.Bytes\(\)\)`
+       _ = []byte(m["key"].String()) // want `should use m\["key"\]\.Bytes\(\) instead of \[\]byte\(m\["key"\]\.String\(\)\)`
+
+       string := func(_ interface{}) interface{} {
+               return nil
+       }
+       _ = string(m["key"].Bytes())
+}