.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / internal / lsp / testdata / rank / convert_rank.go.in
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 }