Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201105173854-bc9fc8d8c4bc / go / analysis / passes / nilfunc / testdata / src / a / a.go
1 // Copyright 2013 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package a
6
7 func F() {}
8
9 type T struct {
10         F func()
11 }
12
13 func (T) M() {}
14
15 var Fv = F
16
17 func Comparison() {
18         var t T
19         var fn func()
20         if fn == nil || Fv == nil || t.F == nil {
21                 // no error; these func vars or fields may be nil
22         }
23         if F == nil { // want "comparison of function F == nil is always false"
24                 panic("can't happen")
25         }
26         if t.M == nil { // want "comparison of function M == nil is always false"
27                 panic("can't happen")
28         }
29         if F != nil { // want "comparison of function F != nil is always true"
30                 if t.M != nil { // want "comparison of function M != nil is always true"
31                         return
32                 }
33         }
34         panic("can't happen")
35 }