blob: 098db824539c16fa22f67c4512476017072a20d5 (
plain) (
tree)
|
|
discard """
cmd: '''nim c --gc:arc $file'''
output: '''
other
'''
"""
import std/macros
macro bigCaseStmt(arg: untyped): untyped =
result = nnkCaseStmt.newTree(arg)
# try to change 2000 to a bigger value if it doesn't crash
for x in 0 ..< 2000:
result.add nnkOfBranch.newTree(newStrLitNode($x), newStrLitNode($x))
result.add nnkElse.newTree(newStrLitNode("other"))
macro bigIfElseExpr(): untyped =
result = nnkIfExpr.newTree()
for x in 0 ..< 1000:
result.add nnkElifExpr.newTree(newLit(false), newStrLitNode($x))
result.add nnkElseExpr.newTree(newStrLitNode("other"))
proc test(arg: string): string =
echo bigIfElseExpr()
result = bigCaseStmt(arg)
discard test("test")
|