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