func TestCheckBuiltinComplexIntEllipsis(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, []int{1,2}...)`, env,
		`invalid use of ... with builtin complex`,
		`invalid operation: complex(1, []int literal) (mismatched types int and []int)`,
	)
}
Test Complex(1, []int{1,2}...)
package eval
import (
	"testing"
	"reflect"
)
func TestCheckBuiltinComplexXX(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex()`, env,
		`missing argument to complex - complex(<N>, <N>)`,
	)
}
func TestCheckBuiltinComplexXInt(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1)`, env,
		`missing argument to complex - complex(1, <N>)`,
	)
}
func TestCheckBuiltinComplexXFloat32(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(float32(1))`, env,
		`missing argument to complex - complex(float32(1), <N>)`,
	)
}
func TestCheckBuiltinComplexXString(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex("abc")`, env,
		`missing argument to complex - complex("abc", <N>)`,
	)
}
func TestCheckBuiltinComplexXNil(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(nil)`, env,
		`missing argument to complex - complex(nil, <N>)`,
	)
}
func TestCheckBuiltinComplexXFloat(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1.5)`, env,
		`missing argument to complex - complex(1.5, <N>)`,
	)
}
func TestCheckBuiltinComplexXSlice(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex([]int{})`, env,
		`missing argument to complex - complex(composite literal, <N>)`,
	)
}
func TestCheckBuiltinComplexXMap(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(map[int]int{})`, env,
		`missing argument to complex - complex(composite literal, <N>)`,
	)
}
func TestCheckBuiltinComplexXType(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(int)`, env,
		`missing argument to complex - complex(int, <N>)`,
	)
}
func TestCheckBuiltinComplexXMakeType(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(map[int]int)`, env,
		`missing argument to complex - complex(map[int]int, <N>)`,
	)
}
func TestCheckBuiltinComplexXDouble(t *testing.T) {
	env := MakeSimpleEnv()
	expectConst(t, `complex(1, 1)`, env, complex(1, 1), reflect.TypeOf(complex(1, 1)))
}
func TestCheckBuiltinComplexXEllipsis(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex([]int{1,2}...)`, env,
		`invalid use of ... with builtin complex`,
		`missing argument to complex - complex(composite literal, <N>)`,
	)
}
func TestCheckBuiltinComplexIntX(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1)`, env,
		`missing argument to complex - complex(1, <N>)`,
	)
}
func TestCheckBuiltinComplexIntInt(t *testing.T) {
	env := MakeSimpleEnv()
	expectConst(t, `complex(1, 1)`, env, complex(1, 1), reflect.TypeOf(complex(1, 1)))
}
func TestCheckBuiltinComplexIntFloat32(t *testing.T) {
	env := MakeSimpleEnv()
	expectConst(t, `complex(1, float32(1))`, env, complex(1, float32(1)), reflect.TypeOf(complex(1, float32(1))))
}
func TestCheckBuiltinComplexIntString(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, "abc")`, env,
		`invalid operation: complex(1, "abc") (mismatched types untyped number and untyped string)`,
	)
}
func TestCheckBuiltinComplexIntNil(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, nil)`, env,
		`invalid operation: complex(1, nil) (mismatched types untyped number and nil)`,
	)
}
func TestCheckBuiltinComplexIntFloat(t *testing.T) {
	env := MakeSimpleEnv()
	expectConst(t, `complex(1, 1.5)`, env, complex(1, 1.5), reflect.TypeOf(complex(1, 1.5)))
}
func TestCheckBuiltinComplexIntSlice(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, []int{})`, env,
		`invalid operation: complex(1, []int literal) (mismatched types int and []int)`,
	)
}
func TestCheckBuiltinComplexIntMap(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, map[int]int{})`, env,
		`invalid operation: complex(1, map[int]int literal) (mismatched types int and map[int]int)`,
	)
}
func TestCheckBuiltinComplexIntType(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, int)`, env,
		`type int is not an expression`,
	)
}
func TestCheckBuiltinComplexIntMakeType(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, map[int]int)`, env,
		`type map[int]int is not an expression`,
	)
}
func TestCheckBuiltinComplexIntDouble(t *testing.T) {
	env := MakeSimpleEnv()
	expectCheckError(t, `complex(1, 1, 1)`, env,
		`too many arguments to complex - complex(1, <N>)`,
	)
}