12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- discard """
- output: '''("string here", 80)'''
- cmd: '''nim c --gc:arc --expandArc:main --expandArc:sio --hint:Performance:off $file'''
- nimout: '''--expandArc: main
- var
- x_cursor
- :tmpD
- try:
- x_cursor = ("hi", 5)
- if cond:
- x_cursor = ("different", 54) else:
- x_cursor = ("string here", 80)
- echo [
- :tmpD = `$$`(x_cursor)
- :tmpD]
- finally:
- `=destroy`(:tmpD)
- -- end of expandArc ------------------------
- --expandArc: sio
- block :tmp:
- var x_cursor
- var f = open("debug.txt", fmRead, 8000)
- try:
- var res
- try:
- res = newStringOfCap(80)
- block :tmp_1:
- while readLine(f, res):
- x_cursor = res
- echo [x_cursor]
- finally:
- `=destroy`(res)
- finally:
- close(f)
- -- end of expandArc ------------------------'''
- """
- proc main(cond: bool) =
- var x = ("hi", 5) # goal: computed as cursor
- x = if cond:
- ("different", 54)
- else:
- ("string here", 80)
- echo x
- main(false)
- proc sio =
- for x in lines("debug.txt"):
- echo x
- if false:
- sio()
|