@@ -85,6 +85,9 @@ var builtinCalls = []struct {
8585 {"make" , `var c int32; _ = make([]float64 , 0, c)` , `func([]float64, int, int32) []float64` },
8686 {"make" , `var l, c uint ; _ = make([]complex128, l, c)` , `func([]complex128, uint, uint) []complex128` },
8787
88+ // issue #45667
89+ {"make" , `const l uint = 1; _ = make([]int, l)` , `func([]int, uint) []int` },
90+
8891 {"new" , `_ = new(int)` , `func(int) *int` },
8992 {"new" , `type T struct{}; _ = new(T)` , `func(p.T) *p.T` },
9093
@@ -102,6 +105,10 @@ var builtinCalls = []struct {
102105 {"recover" , `recover()` , `func() interface{}` },
103106 {"recover" , `_ = recover()` , `func() interface{}` },
104107
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+
105112 {"Alignof" , `_ = unsafe.Alignof(0)` , `invalid type` }, // constant
106113 {"Alignof" , `var x struct{}; _ = unsafe.Alignof(x)` , `invalid type` }, // constant
107114
@@ -111,6 +118,9 @@ var builtinCalls = []struct {
111118 {"Sizeof" , `_ = unsafe.Sizeof(0)` , `invalid type` }, // constant
112119 {"Sizeof" , `var x struct{}; _ = unsafe.Sizeof(x)` , `invalid type` }, // constant
113120
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+
114124 {"assert" , `assert(true)` , `invalid type` }, // constant
115125 {"assert" , `type B bool; const pred B = 1 < 2; assert(pred)` , `invalid type` }, // constant
116126
0 commit comments