summary refs log tree commit diff stats
path: root/tests/macros/tprochelpers.nim
blob: d95a2ced80e9fedfd0d95c13eeb3da0f7156808d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import std/macros
import stdtest/testutils

macro test1(prc: untyped): untyped =
  assertAll:
    prc.params.len == 2
    prc.params[1].len == 4
    prc.pragma.len == 2

  prc.params = nnkFormalParams.newTree(
    ident("int")
  )
  prc.pragma = newEmptyNode()

  assertAll:
    prc.params.len == 1
    prc.pragma.len == 0
  prc

proc test(a, b: int): int {.gcsafe, raises: [], test1.} = 5

type hello = proc(a, b: int): int {.gcsafe, raises: [], test1.}