mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-29 18:53:58 +00:00
* refs #17292 fix `repr` with `do:` * address comment
This commit is contained in:
@@ -6,6 +6,8 @@ discard """
|
||||
# if excessive, could remove 'cpp' from targets
|
||||
|
||||
from strutils import endsWith, contains
|
||||
from std/macros import newLit
|
||||
macro deb(a): string = newLit a.repr
|
||||
|
||||
template main() =
|
||||
doAssert repr({3,5}) == "{3, 5}"
|
||||
@@ -65,5 +67,83 @@ template main() =
|
||||
else:
|
||||
doAssert reprOpenarray(arr) == "[1, 2, 3]"
|
||||
|
||||
block: # bug #17292
|
||||
template foo(a, b, c, d) = discard
|
||||
block:
|
||||
let a = deb:
|
||||
foo(1, 2, 3, 4)
|
||||
doAssert a == "\nfoo(1, 2, 3, 4)"
|
||||
block:
|
||||
let a = deb:
|
||||
foo(1, 2, 3): 4
|
||||
doAssert a == """
|
||||
|
||||
foo(1, 2, 3):
|
||||
4"""
|
||||
|
||||
block:
|
||||
let a = deb:
|
||||
foo(1, 2): 3
|
||||
do: 4
|
||||
doAssert a == """
|
||||
|
||||
foo(1, 2):
|
||||
3
|
||||
do:
|
||||
4"""
|
||||
|
||||
block:
|
||||
let a = deb:
|
||||
foo(1): 3
|
||||
do: 3
|
||||
do: 4
|
||||
doAssert a == """
|
||||
|
||||
foo(1):
|
||||
3
|
||||
do:
|
||||
3
|
||||
do:
|
||||
4"""
|
||||
|
||||
block:
|
||||
let a = deb:
|
||||
foo(1):
|
||||
3
|
||||
do:
|
||||
discard
|
||||
3
|
||||
do:
|
||||
discard
|
||||
4
|
||||
|
||||
doAssert a == """
|
||||
|
||||
foo(1):
|
||||
3
|
||||
do:
|
||||
discard
|
||||
3
|
||||
do:
|
||||
discard
|
||||
4"""
|
||||
|
||||
block:
|
||||
let a = deb:
|
||||
foo: 1
|
||||
do: 2
|
||||
do: 3
|
||||
do: 4
|
||||
doAssert a == """
|
||||
|
||||
foo:
|
||||
1
|
||||
do:
|
||||
2
|
||||
do:
|
||||
3
|
||||
do:
|
||||
4"""
|
||||
|
||||
static: main()
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user