github.com/cockroachdb/tools@v0.0.0-20230222021103-a6d27438930d/go/analysis/passes/nilness/testdata/src/b/b.go (about)

     1  package b
     2  
     3  func f() {
     4  	var s []int
     5  	t := (*[0]int)(s)
     6  	_ = *t // want "nil dereference in load"
     7  	_ = (*[0]int)(s)
     8  	_ = *(*[0]int)(s) // want "nil dereference in load"
     9  
    10  	// these operation is panic
    11  	_ = (*[1]int)(s)  // want "nil slice being cast to an array of len > 0 will always panic"
    12  	_ = *(*[1]int)(s) // want "nil slice being cast to an array of len > 0 will always panic"
    13  }
    14  
    15  func g() {
    16  	var s = make([]int, 0)
    17  	t := (*[0]int)(s)
    18  	println(*t)
    19  }
    20  
    21  func h() {
    22  	var s = make([]int, 1)
    23  	t := (*[1]int)(s)
    24  	println(*t)
    25  }
    26  
    27  func i(x []int) {
    28  	a := (*[1]int)(x)
    29  	if a != nil { // want "tautological condition: non-nil != nil"
    30  		_ = *a
    31  	}
    32  }