github.com/amarpal/go-tools@v0.0.0-20240422043104-40142f59f616/analysis/facts/nilness/testdata/src/example.com/Nilness/Nilness_go17.go (about)

     1  //go:build go1.17
     2  // +build go1.17
     3  
     4  package pkg
     5  
     6  func fn21() *[5]int { // want fn21:`never returns nil: \[never\]`
     7  	var x []int
     8  	return (*[5]int)(x)
     9  }
    10  
    11  func fn22() *[0]int {
    12  	var x []int
    13  	return (*[0]int)(x)
    14  }
    15  
    16  func fn23() *[5]int { // want fn23:`never returns nil: \[never\]`
    17  	var x []int
    18  	type T [5]int
    19  	ret := (*T)(x)
    20  	return (*[5]int)(ret)
    21  }
    22  
    23  func fn24() *[0]int {
    24  	var x []int
    25  	type T [0]int
    26  	ret := (*T)(x)
    27  	return (*[0]int)(ret)
    28  }
    29  
    30  func fn25() *[5]int { // want fn25:`never returns nil: \[never\]`
    31  	var x []int
    32  	type T *[5]int
    33  	return (T)(x)
    34  }
    35  
    36  func fn26() *[0]int {
    37  	var x []int
    38  	type T *[0]int
    39  	return (T)(x)
    40  }