@@ -85,6 +85,9 @@ var builtinCalls = []struct {
85
85
{"make" , `var c int32; _ = make([]float64 , 0, c)` , `func([]float64, int, int32) []float64` },
86
86
{"make" , `var l, c uint ; _ = make([]complex128, l, c)` , `func([]complex128, uint, uint) []complex128` },
87
87
88
+ // issue #45667
89
+ {"make" , `const l uint = 1; _ = make([]int, l)` , `func([]int, uint) []int` },
90
+
88
91
{"new" , `_ = new(int)` , `func(int) *int` },
89
92
{"new" , `type T struct{}; _ = new(T)` , `func(p.T) *p.T` },
90
93
@@ -102,6 +105,10 @@ var builtinCalls = []struct {
102
105
{"recover" , `recover()` , `func() interface{}` },
103
106
{"recover" , `_ = recover()` , `func() interface{}` },
104
107
108
+ {"Add" , `var p unsafe.Pointer; _ = unsafe.Add(p, -1.0)` , `func(unsafe.Pointer, int) unsafe.Pointer` },
109
+ {"Add" , `var p unsafe.Pointer; var n uintptr; _ = unsafe.Add(p, n)` , `func(unsafe.Pointer, uintptr) unsafe.Pointer` },
110
+ {"Add" , `_ = unsafe.Add(nil, 0)` , `func(unsafe.Pointer, int) unsafe.Pointer` },
111
+
105
112
{"Alignof" , `_ = unsafe.Alignof(0)` , `invalid type` }, // constant
106
113
{"Alignof" , `var x struct{}; _ = unsafe.Alignof(x)` , `invalid type` }, // constant
107
114
@@ -111,6 +118,9 @@ var builtinCalls = []struct {
111
118
{"Sizeof" , `_ = unsafe.Sizeof(0)` , `invalid type` }, // constant
112
119
{"Sizeof" , `var x struct{}; _ = unsafe.Sizeof(x)` , `invalid type` }, // constant
113
120
121
+ {"Slice" , `var p *int; _ = unsafe.Slice(p, 1)` , `func(*int, int) []int` },
122
+ {"Slice" , `var p *byte; var n uintptr; _ = unsafe.Slice(p, n)` , `func(*byte, uintptr) []byte` },
123
+
114
124
{"assert" , `assert(true)` , `invalid type` }, // constant
115
125
{"assert" , `type B bool; const pred B = 1 < 2; assert(pred)` , `invalid type` }, // constant
116
126
0 commit comments