mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-30 09:54:49 +00:00
34 lines
499 B
Nim
34 lines
499 B
Nim
discard """
|
|
output: "he, no return type;abc a string"
|
|
"""
|
|
|
|
proc ReturnT[T](x: T): T =
|
|
when T is void:
|
|
echo "he, no return type;"
|
|
else:
|
|
result = x & " a string"
|
|
|
|
proc nothing(x, y: void): void =
|
|
echo "ha"
|
|
|
|
proc callProc[T](p: proc (x: T) {.nimcall.}, x: T) =
|
|
when T is void:
|
|
p()
|
|
else:
|
|
p(x)
|
|
|
|
proc intProc(x: int) =
|
|
echo x
|
|
|
|
proc emptyProc() =
|
|
echo "empty"
|
|
|
|
callProc[int](intProc, 12)
|
|
callProc[void](emptyProc)
|
|
|
|
|
|
ReturnT[void]()
|
|
echo ReturnT[string]("abc")
|
|
nothing()
|
|
|