github.com/v2fly/tools@v0.100.0/internal/lsp/testdata/rank/convert_rank.go.in (about)

     1  package rank
     2  
     3  import "time"
     4  
     5  func _() {
     6  	type strList []string
     7  	wantsStrList := func(strList) {}
     8  
     9  	var (
    10  		convA string   //@item(convertA, "convA", "string", "var")
    11  		convB []string //@item(convertB, "convB", "[]string", "var")
    12  	)
    13  	wantsStrList(strList(conv)) //@complete("))", convertB, convertA)
    14  }
    15  
    16  func _() {
    17  	type myInt int
    18  
    19  	const (
    20  		convC        = "hi"    //@item(convertC, "convC", "string", "const")
    21  		convD        = 123     //@item(convertD, "convD", "int", "const")
    22  		convE int    = 123     //@item(convertE, "convE", "int", "const")
    23  		convF string = "there" //@item(convertF, "convF", "string", "const")
    24  		convG myInt  = 123     //@item(convertG, "convG", "myInt", "const")
    25  	)
    26  
    27  	var foo int
    28  	foo = conv //@rank(" //", convertE, convertD)
    29  
    30  	var mi myInt
    31  	mi = conv //@rank(" //", convertG, convertD, convertE)
    32  	mi + conv //@rank(" //", convertG, convertD, convertE)
    33  
    34  	1 + conv //@rank(" //", convertD, convertC),rank(" //", convertE, convertC),rank(" //", convertG, convertC)
    35  
    36  	type myString string
    37  	var ms myString
    38  	ms = conv //@rank(" //", convertC, convertF)
    39  
    40  	type myUint uint32
    41  	var mu myUint
    42  	mu = conv //@rank(" //", convertD, convertE)
    43  
    44  	// don't downrank constants when assigning to interface{}
    45  	var _ interface{} = c //@rank(" //", convertD, complex)
    46  
    47  	var _ time.Duration = conv //@rank(" //", convertD, convertE),snippet(" //", convertE, "time.Duration(convE)", "time.Duration(convE)")
    48  
    49  	var convP myInt
    50  	&convP            //@item(convertP, "&convP", "myInt", "var")
    51  	var _ *int = conv //@snippet(" //", convertP, "(*int)(&convP)", "(*int)(&convP)")
    52  
    53  	var ff float64 //@item(convertFloat, "ff", "float64", "var")
    54  	f == convD     //@snippet(" =", convertFloat, "ff", "ff")
    55  }