Files
Nim/tests/icnif/testcode/modtestprocs.nim
2025-11-06 04:50:21 +09:00

49 lines
866 B
Nim

proc foo() = discard
foo()
proc bar(x: int): int = x
discard bar(1)
proc baz(x, y: int): int =
bar(x)
proc baz(a: bool; b: string; c: int): float = 0.0
proc forwardDecl()
proc forwardDecl() =
foo()
forwardDecl()
proc forwardDecl2*(): int
proc forwardDecl2*(): int = bar(1)
discard forwardDecl2()
proc forwardDecl3(x, y: int): int
proc forwardDecl3(x, y: int): int = x
discard forwardDecl3(3, 2)
func func1(): int = 123
discard func1()
func func2(x: int): int = x
func func3*(x, y: bool): bool = x
proc withDefaultValue(x = 1) = discard
withDefaultValue()
withDefaultValue(2)
withDefaultValue(x = 3)
proc withDefaultValue2(x = "foo"; y = true) = discard
withDefaultValue2()
withDefaultValue2("bar")
withDefaultValue2(x = "baz", y = false)
proc varParam(x: var int) = x = 10
var x = 0
varParam(x)
proc varRet(x: var int): var int = x
varRet(x) = 100