| This test checks various ranking of completion results related to printf. |
| |
| -- flags -- |
| -ignore_extra_diags |
| |
| -- printf.go -- |
| package printf |
| |
| import "fmt" |
| |
| func myPrintf(string, ...interface{}) {} |
| |
| func _() { |
| var ( |
| aInt int //@item(printfInt, "aInt", "int", "var") |
| aFloat float64 //@item(printfFloat, "aFloat", "float64", "var") |
| aString string //@item(printfString, "aString", "string", "var") |
| aBytes []byte //@item(printfBytes, "aBytes", "[]byte", "var") |
| aStringer fmt.Stringer //@item(printfStringer, "aStringer", "fmt.Stringer", "var") |
| aError error //@item(printfError, "aError", "error", "var") |
| aBool bool //@item(printfBool, "aBool", "bool", "var") |
| ) |
| |
| myPrintf("%d", a) //@rank(")", printfInt, printfFloat) |
| myPrintf("%s", a) //@rank(")", printfString, printfInt),rank(")", printfBytes, printfInt),rank(")", printfStringer, printfInt),rank(")", printfError, printfInt) |
| myPrintf("%w", a) //@rank(")", printfError, printfInt) |
| myPrintf("%x %[1]b", a) //@rank(")", printfInt, printfString) |
| |
| fmt.Printf("%t", a) //@rank(")", printfBool, printfInt) |
| |
| fmt.Fprintf(nil, "%f", a) //@rank(")", printfFloat, printfInt) |
| |
| fmt.Sprintf("%[2]q %[1]*.[3]*[4]f", |
| a, //@rank(",", printfInt, printfFloat) |
| a, //@rank(",", printfString, printfFloat) |
| a, //@rank(",", printfInt, printfFloat) |
| a, //@rank(",", printfFloat, printfInt) |
| ) |
| |
| // Don't insert as "&aStringer" |
| fmt.Printf("%p", a) //@snippet(")", printfStringer, "aStringer") |
| } |