mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 01:14:41 +00:00
* add expectIdent to macros * apply feedback * Update lib/core/macros.nim Co-Authored-By: Clyybber <darkmine956@gmail.com> * Update texpectIdent2.nim * Update texpectIdent1.nim Co-authored-by: Clyybber <darkmine956@gmail.com> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
25 lines
413 B
Nim
25 lines
413 B
Nim
discard """
|
|
errormsg: "Expected identifier to be `foo` here"
|
|
line: 24
|
|
"""
|
|
|
|
import macros
|
|
|
|
macro testTyped(arg: typed): void =
|
|
arg.expectKind nnkStmtList
|
|
arg.expectLen 2
|
|
arg[0].expectKind nnkCall
|
|
arg[0][0].expectIdent "foo" # must pass
|
|
arg[1].expectKind nnkCall
|
|
arg[1][0].expectIdent "foo" # must fail
|
|
|
|
proc foo(arg: int) =
|
|
discard
|
|
|
|
proc bar(arg: int) =
|
|
discard
|
|
|
|
testTyped:
|
|
foo(123)
|
|
bar(321)
|