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 / CheckDeferInInfiniteLoop / CheckDeferInInfiniteLoop.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/CheckDeferInInfiniteLoop/CheckDeferInInfiniteLoop.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/staticcheck/testdata/src/CheckDeferInInfiniteLoop/CheckDeferInInfiniteLoop.go
new file mode 100644 (file)
index 0000000..8bc43e9
--- /dev/null
@@ -0,0 +1,39 @@
+package pkg
+
+func fn() {
+       for {
+               defer println() // want `will never run`
+       }
+       for {
+               defer println() // want `will never run`
+               go func() {
+                       return
+               }()
+       }
+       for {
+               defer println()
+               return
+       }
+       for false {
+               defer println()
+       }
+       for {
+               defer println()
+               break
+       }
+       for {
+               defer println()
+               if true {
+                       break
+               }
+       }
+       for {
+               defer println()
+               // Right now, we treat every break the same. We could analyse
+               // this further and see, that the break doesn't break out of
+               // the outer loop.
+               for {
+                       break
+               }
+       }
+}