erg/tests/should_ok/subtyping.er
2023-08-19 23:30:34 +09:00

15 lines
373 B
Python

higher(f: (Nat -> Nat)): Nat = f(1)
_abs(x: Int): Nat = x.abs()
print! higher _abs # OK
higher2(f: ((g: Nat -> Nat) -> Nat)): Nat = f((x: Nat) -> x + 1)
f(g: Bool -> Nat): Nat = g(False)
print! higher2 f # OK
str_to_int_or_rec(_: {Str: Int or Record}) = None
str_to_int_or_rec { "a": 1 }
str_to_int_or_rec { "a": {.a = 1} }
str_to_int_or_rec { "a": {.a = 1}, "b": 1 }