From 48697dc5bb5d23761e9b1679f064d03de4e7bdc8 Mon Sep 17 00:00:00 2001 From: Arne Döring Date: Thu, 19 Jul 2018 22:42:48 +0200 Subject: added test case for `or` operator --- lib/core/macros.nim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/core') diff --git a/lib/core/macros.nim b/lib/core/macros.nim index e4424690a..a3b02de5f 100644 --- a/lib/core/macros.nim +++ b/lib/core/macros.nim @@ -176,7 +176,7 @@ proc `[]=`*(n: NimNode, i: BackwardsIndex, child: NimNode) = ## set `n`'s `i`'th child to `child`. n[n.len - i.int] = child -template `or`*(a,b: NimNode): NimNode = +template `or`*(x, y: NimNode): NimNode = ## Evalutuate ``a`` and when it is not an empty node, return return ## it. Otherwise evaluate to ``b``. Can be used to chain several ## expressions that evaluates to the first expression that is not @@ -186,11 +186,11 @@ template `or`*(a,b: NimNode): NimNode = ## ## let node = mightBeEmpty() or mightAlsoBeEmpty() or fallbackNode - let arg = a + let arg = x if arg != nil and arg.kind != nnkEmpty: arg else: - b + y proc add*(father, child: NimNode): NimNode {.magic: "NAdd", discardable, noSideEffect, locks: 0.} -- cgit 1.4.1-2-gfad0