erg/tests/should_err/default_param.er
2024-09-15 12:48:33 +09:00

20 lines
527 B
Python

f x: Int, y: Int := 1, z: Nat := 2 = x + y + z
_: (Int, Str) -> Int = f # ERR
_: (Int, Int, Int) -> Int = f # ERR (contravariant)
id_or_int x := 1 = x
_: Int -> Str = id_or_int # ERR
g x: Int := 1, y: Int := "a" = x + y # ERR
_: (Int, Int) -> Int = g
check f: (Int, n := Int) -> Int = f(1)
check2 f: (m := Int, n := Int) -> Int = f(m:=1, n:=2)
f1(x: Int, y, n := 1) = x + y + n
f2(x: Int, y: Int) = x + y
f3(*x: Int) = x[0]
f4(**x: Int) = x["a"]
_ = check f1 # ERR
_ = check2 f2 # ERR
_ = check2 f3 # ERR
_ = check f4 # ERR