diff options
author | awr1 <41453959+awr1@users.noreply.github.com> | 2018-08-23 03:20:58 -0500 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2018-08-23 10:20:58 +0200 |
commit | bf973d29da48fc6e6d6eeedce3adda84e0b45a64 (patch) | |
tree | 9cb106d9241997c8401bf6a7de7a4a1c49e8d7e6 /lib | |
parent | 52bee6baba1b5aeb5abe763c06478cd3139a5a84 (diff) | |
download | Nim-bf973d29da48fc6e6d6eeedce3adda84e0b45a64.tar.gz |
Fixes #8719 (onFailedAssert now works for doAssert) (#8731)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system.nim | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/system.nim b/lib/system.nim index d61924a5b..73804b973 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -3741,23 +3741,23 @@ template assert*(cond: bool, msg = "") = ## The compiler may not generate any code at all for ``assert`` if it is ## advised to do so through the ``-d:release`` or ``--assertions:off`` ## `command line switches <nimc.html#command-line-switches>`_. + # NOTE: `true` is correct here; --excessiveStackTrace:on will control whether + # or not to output full paths. bind instantiationInfo mixin failedAssertImpl - when compileOption("assertions"): - {.line.}: + {.line: instantiationInfo(fullPaths = true).}: + when compileOption("assertions"): if not cond: failedAssertImpl(astToStr(cond) & ' ' & msg) template doAssert*(cond: bool, msg = "") = ## same as `assert` but is always turned on and not affected by the ## ``--assertions`` command line switch. - bind instantiationInfo # NOTE: `true` is correct here; --excessiveStackTrace:on will control whether # or not to output full paths. - {.line: instantiationInfo(-1, true).}: - if not cond: - raiseAssert(astToStr(cond) & ' ' & - instantiationInfo(-1, false).fileName & '(' & - $instantiationInfo(-1, false).line & ") " & msg) + bind instantiationInfo + mixin failedAssertImpl + {.line: instantiationInfo(fullPaths = true).}: + if not cond: failedAssertImpl(astToStr(cond) & ' ' & msg) iterator items*[T](a: seq[T]): T {.inline.} = ## iterates over each item of `a`. |