From 43ddb4806b4acd0e9a4170a47020ee16d31f5f72 Mon Sep 17 00:00:00 2001 From: Simon Hafner Date: Sun, 1 Feb 2015 04:36:17 -0600 Subject: added tests from issue #497 --- tests/macros/macro_bug.nim | 17 +++++++++++++++++ tests/macros/tsame_name_497.nim | 5 +++++ 2 files changed, 22 insertions(+) create mode 100644 tests/macros/macro_bug.nim create mode 100644 tests/macros/tsame_name_497.nim (limited to 'tests/macros') diff --git a/tests/macros/macro_bug.nim b/tests/macros/macro_bug.nim new file mode 100644 index 000000000..0d0fa76ac --- /dev/null +++ b/tests/macros/macro_bug.nim @@ -0,0 +1,17 @@ +import macros + +macro macro_bug*(s: stmt): stmt {.immediate.} = + s.expectKind({nnkProcDef, nnkMethodDef}) + + var params = s.params + + let genericParams = s[2] + result = newNimNode(nnkProcDef).add( + s.name, s[1], genericParams, params, pragma(s), newEmptyNode()) + + var body = body(s) + + # Fails here. + var call = newCall("macro_bug", s.params[1][0]) + body.insert(0, call) + result.add(body) diff --git a/tests/macros/tsame_name_497.nim b/tests/macros/tsame_name_497.nim new file mode 100644 index 000000000..e49f9f6d8 --- /dev/null +++ b/tests/macros/tsame_name_497.nim @@ -0,0 +1,5 @@ +import macro_bug + +type TObj = object + +proc f(o: TObj) {.macro_bug.} = discard -- cgit 1.4.1-2-gfad0