.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.1.1 / staticcheck / testdata / src / CheckTypedNilInterface / i33994 / 33994.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.1.1/staticcheck/testdata/src/CheckTypedNilInterface/i33994/33994.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.1.1/staticcheck/testdata/src/CheckTypedNilInterface/i33994/33994.go
new file mode 100644 (file)
index 0000000..3f33537
--- /dev/null
@@ -0,0 +1,35 @@
+package main
+
+import (
+       "errors"
+       "fmt"
+)
+
+func main() {
+       var err = errors.New("errors msg")
+       name, err := GetName()
+       if err != nil { // want `this comparison is always true`
+               fmt.Println(err)
+       } else {
+               fmt.Println(name)
+       }
+}
+
+type Error struct {
+       Message string
+}
+
+func (e *Error) Error() string {
+       if e == nil {
+               return "Error is nil"
+       }
+       return e.Message
+}
+
+func GetName() (string, *Error) {
+       var err = &Error{
+               Message: "error msg",
+       }
+       err = nil
+       return "yixinin", err
+}