1package builtins
2
3func _() {
4	var (
5		aSlice    []int          //@item(builtinSlice, "aSlice", "[]int", "var")
6		aMap      map[string]int //@item(builtinMap, "aMap", "map[string]int", "var")
7		aString   string         //@item(builtinString, "aString", "string", "var")
8		aArray    [0]int         //@item(builtinArray, "aArray", "[0]int", "var")
9		aArrayPtr *[0]int        //@item(builtinArrayPtr, "aArrayPtr", "*[0]int", "var")
10		aChan     chan int       //@item(builtinChan, "aChan", "chan int", "var")
11		aPtr      *int           //@item(builtinPtr, "aPtr", "*int", "var")
12		aInt      int            //@item(builtinInt, "aInt", "int", "var")
13	)
14
15	type (
16		aSliceType []int          //@item(builtinSliceType, "aSliceType", "[]int", "type")
17		aChanType  chan int       //@item(builtinChanType, "aChanType", "chan int", "type")
18		aMapType   map[string]int //@item(builtinMapType, "aMapType", "map[string]int", "type")
19	)
20
21	close() //@rank(")", builtinChan, builtinSlice)
22
23	append() //@rank(")", builtinSlice, builtinChan)
24
25	copy()           //@rank(")", builtinSlice, builtinChan)
26	copy(aSlice, aS) //@rank(")", builtinSlice, builtinString)
27	copy(aS, aSlice) //@rank(",", builtinSlice, builtinString)
28
29	delete()         //@rank(")", builtinMap, builtinChan)
30	delete(aMap, aS) //@rank(")", builtinString, builtinSlice)
31
32	len() //@rank(")", builtinSlice, builtinInt),rank(")", builtinMap, builtinInt),rank(")", builtinString, builtinInt),rank(")", builtinArray, builtinInt),rank(")", builtinArrayPtr, builtinPtr),rank(")", builtinChan, builtinInt)
33
34	cap() //@rank(")", builtinSlice, builtinMap),rank(")", builtinArray, builtinString),rank(")", builtinArrayPtr, builtinPtr),rank(")", builtinChan, builtinInt)
35
36	make()              //@rank(")", builtinMapType, int),rank(")", builtinChanType, int),rank(")", builtinSliceType, int),rank(")", builtinMapType, builtinMap)
37	make(aSliceType, a) //@rank(")", builtinInt, builtinSlice)
38
39	var _ []int = make() //@rank(")", builtinSliceType, builtinSlice)
40
41	type myStruct struct{}  //@item(builtinStructType, "myStruct", "struct{...}", "struct")
42	new()                   //@rank(")", builtinStructType, builtinInt)
43	var _ *myStruct = new() //@rank(")", builtinStructType, int)
44
45	for k := range a { //@rank(" {", builtinSlice, builtinInt),rank(" {", builtinString, builtinInt),rank(" {", builtinChan, builtinInt),rank(" {", builtinArray, builtinInt),rank(" {", builtinArrayPtr, builtinInt),rank(" {", builtinMap, builtinInt),
46	}
47
48	for k, v := range a { //@rank(" {", builtinSlice, builtinChan)
49	}
50
51	<-a //@rank(" //", builtinChan, builtinInt)
52}
53