package main // Test generic sort function with two different pointer types in different packages, // make sure only one instantiation is created. import ( "fmt" "cmd/compile/internal/test/testdata/mysort" ) type MyString struct { string } func (a *MyString) Less(b *MyString) bool { return a.string < b.string } func main() { mysort.F() sl1 := []*mysort.MyInt{{7}, {1}, {4}, {6}} mysort.Sort(sl1) fmt.Printf("%v %v %v %v\n", sl1[0], sl1[1], sl1[2], sl1[3]) sl2 := []*MyString{{"when"}, {"in"}, {"the"}, {"course"}, {"of"}} mysort.Sort(sl2) fmt.Printf("%v %v %v %v %v\n", sl2[0], sl2[1], sl2[2], sl2[3], sl2[4]) }