Fixes #16219, hasArgOfName ignoring argument sets. (#16233)

* Fixes #16219, `hasArgOfName` ignoring argument sets.

* Fix test and simplify ident traversal.

* Moved test into a block and removed some boilerplate.

* Fix some argument formatting.

* use ..<

* Change the preceding line too

Co-authored-by: Clyybber <darkmine956@gmail.com>
This commit is contained in:
Aditya Siram 2020-12-03 06:40:28 -06:00 • committed by GitHub
commit 23447ffdce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 4 deletions

9
tests/stdlib/tmacros.nim Normal file
View file

@ -0,0 +1,9 @@
import macros
block: # hasArgOfName
macro m(u: untyped): untyped =
for name in ["s","i","j","k","b","xs","ys"]:
doAssert hasArgOfName(params u,name)
doAssert not hasArgOfName(params u,"nonexistent")
proc p(s: string; i,j,k: int; b: bool; xs,ys: seq[int] = @[]) {.m.} = discard