File: tdefaultparam.nim

package info (click to toggle)
nim 2.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,911,644 kB
  • sloc: sh: 24,603; ansic: 1,761; python: 1,492; makefile: 1,013; sql: 298; asm: 141; xml: 13
file content (15 lines) | stat: -rw-r--r-- 341 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
block:
  template foo(a: untyped, b: untyped = a(0)): untyped =
    let x = a(0)
    let y = b
    (x, y)
  proc bar(x: int): int = x + 1
  doAssert foo(bar, b = bar(0)) == (1, 1)
  doAssert foo(bar) == (1, 1)

block: # issue #23506
  var a: string
  template foo(x: int; y = x) =
    a = $($x, $y)
  foo(1)
  doAssert a == "(\"1\", \"1\")"