GithubHelp home page GithubHelp logo

Comments (7)

juancarlospaco avatar juancarlospaco commented on July 30, 2024 1

!nim c --gc:orc --opt:speed

import std/[isolation, macros, sequtils,tasks]
import std/importutils
import system/ansi_c

privateAccess Task

const size = 10000

proc someTask(input: seq[seq[int]]) =
  var sum = 0.int

  for i in 0..<len(input):
    for j in 0..<len(input[i]):
      sum = sum + input[i][j]

  echo $sum

proc main() =
  # 100 numbers of value 1
  let input = newSeqWith[seq[int]](size, newSeqWith[int](size, 1.int))

  # expandMacros: # expanded version of is in `expandedMain`
  let task = toTask(someTask(input))

  echo "sum is:"
  task.invoke()

  echo "sum should be:"
  someTask(input)

proc expandedMain() =
  # 100 numbers of value 1
  let input = newSeqWith[seq[int]](size, newSeqWith[int](size, 1.int))

  type
    ScratchObj_838860902 = object
      input: seq[seq[int]]

  let scratch_838860896 = cast[ptr ScratchObj_838860902](c_calloc(csize_t(1),
      csize_t(8)))
  if isNil(scratch_838860896):
    raise
      (ref OutOfMemDefect)(msg: "Could not allocate memory", parent: nil)
  
  var isoTemp_838860900 = isolate(input)
  scratch_838860896.input = extract(isoTemp_838860900)

  discard GC_getStatistics() # GC stats - shouldn't change anything

  GC_fullCollect() # GC - shouldn't change anything
  discard newSeqWith[seq[int]](size, newSeqWith[int](size, 2.int)) # Allocation - shouldn't change anything

  proc someTask_838860903(argsgensym8: pointer) {.gcsafe, nimcall.} =
    let objTemp_838860899 = cast[ptr ScratchObj_838860902](argsgensym8)
    let input_838860901 = objTemp_838860899.input
    someTask(input_838860901)

  proc destroyScratch_838860904(argsgensym8: pointer) {.gcsafe, nimcall.} =
    let obj_838860905 = cast[ptr ScratchObj_838860902](argsgensym8)
    `=destroy`(obj_838860905[])

  let task = Task(callback: someTask_838860903, args: scratch_838860896,
    destroy: destroyScratch_838860904)
  
  echo "sum is:"
  task.invoke()

  echo "sum should be:"
  someTask(input)

main()
echo "---"
expandedMain()

from nim.

ringabout avatar ringabout commented on July 30, 2024 1

The bisect is not correct because the code needs to be modified to match the devel branch

from nim.

github-actions avatar github-actions commented on July 30, 2024
🐧 Linux bisect by @juancarlospaco (collaborator)
devel 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-24T12:47:32
  • Finished 2024-07-24T12:47:33
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
stable 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(16, 20) template/generic instantiation of `toTask` from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/tasks.nim(133, 20) template/generic instantiation of `isolate` from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/isolation.nim(37, 14) template/generic instantiation of `=destroy` from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/isolation.nim(27, 6) template/generic instantiation from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/isolation.nim(29, 13) Warning: `=destroy`(dest.value) can raise an unlisted exception: Exception [Effect]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: options.nim(682, 5) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-24T12:47:37
  • Finished 2024-07-24T12:47:37
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
2.0.4 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(16, 20) template/generic instantiation of `toTask` from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/tasks.nim(132, 20) template/generic instantiation of `isolate` from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/isolation.nim(37, 14) template/generic instantiation of `=destroy` from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/isolation.nim(27, 6) template/generic instantiation from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/isolation.nim(29, 13) Warning: `=destroy`(dest.value) can raise an unlisted exception: Exception [Effect]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-24T12:47:40
  • Finished 2024-07-24T12:47:40
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
2.0.0 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(16, 20) template/generic instantiation of `toTask` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/tasks.nim(132, 20) template/generic instantiation of `isolate` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/isolation.nim(37, 14) template/generic instantiation of `=destroy` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/isolation.nim(27, 6) template/generic instantiation from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/isolation.nim(29, 13) Warning: `=destroy`(dest.value) can raise an unlisted exception: Exception [Effect]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: options.nim(664, 5) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-24T12:47:43
  • Finished 2024-07-24T12:47:43
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.6.20 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(1, 11) Warning: imported and not used: 'macros' [UnusedImport]
Traceback (most recent call last)
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim expandedMain
/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim invoke
/home/runner/work/Nim/Nim/temp.nim someTask_838860903
/home/runner/work/Nim/Nim/temp.nim someTask
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
fatal.nim(54)            sysFatal
Error: unhandled exception: options.nim(662, 14) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 154.48 Kb (158,184 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct TSafePoint TSafePoint;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ tyObject_Cell__USbPc9alteBFOfRejw0IPYQ;
typedef struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg;
typedef struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw;
typedef struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw;
typedef struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw;
typedef struct tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q;
typedef struct tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w;
typedef struct tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ;
typedef struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ;
typedef struct tyObject_Trunk__KdFprq6T12mWzGalsCR7gg tyObject_Trunk__KdFprq6T12mWzGalsCR7gg;
typedef struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g;
typedef struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg;
typedef struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyTuple__59a7yNnUUaLYoYgMyTxCvyA;
typedef struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ;
typedef struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA;
typedef struct tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
typedef NU8 tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ kind;
tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg* trace;
Exception* up;
};
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NU8 tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig;
struct TNimNode {
tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw {
void* bottom;
};
struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg {
NI len;
NI cap;
tyObject_Cell__USbPc9alteBFOfRejw0IPYQ** d;
};
typedef tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q* tyArray__am9ckwqC56M7ACKNToDQf8g[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* tyArray__dKp1AZMrWGPz9btzS7Vnpow[32];
typedef tyArray__dKp1AZMrWGPz9btzS7Vnpow tyArray__qtz48s7lyP6EI0JVCgNDLw[24];
typedef tyObject_Trunk__KdFprq6T12mWzGalsCR7gg* tyArray__n7OYK9anGXLKqT2bAWs4WmA[256];
struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ {
tyArray__n7OYK9anGXLKqT2bAWs4WmA data;
};
typedef tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* tyArray__FZjlW9aArl8yDtsaKBHERDQ[2];
struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g {
tyArray__FZjlW9aArl8yDtsaKBHERDQ link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA {
tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* Field0;
NI Field1;
};
typedef tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyArray__BxsOe7WmMYPypzw9cg9aWRFQ[30];
struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg {
NI len;
tyArray__BxsOe7WmMYPypzw9cg9aWRFQ chunks;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg* next;
};
struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw {
NI minLargeObj;
NI maxLargeObj;
tyArray__am9ckwqC56M7ACKNToDQf8g freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__qtz48s7lyP6EI0JVCgNDLw matrix;
tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ chunkStarts;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* root;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* deleted;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* last;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g bottomData;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg heapLinks;
};
struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA {
NI counter;
NI max;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g* head;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g** data;
};
struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw {
tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg zct;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg decStack;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tempStack;
NI recGcLock;
tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw region;
tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ stat;
tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA marked;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg additionalRoots;
NI gcThreadId;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
TGenericSeq Sup;
tySequence__qwqHTkRvwhrRyENtudHQ7g* data[SEQ_DECL_SIZE];
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
TGenericSeq Sup;
tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, newSeq__temp_u81)(NI len);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr);
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y);
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_u5299)(tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg* s, tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(void, isolate__temp_u151)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value, tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* Result);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, extract__temp_u176)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u89)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ** dest);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u56)(NimStringDesc* msg);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_u2268)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u2265)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_;
extern TNimType NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_;
extern TNimType NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_5, "Could not allocate memory", 25);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "sum is:", 7);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_11, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` ", 95);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_13, "sum should be:", 14);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_12 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_13)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_15, "---", 3);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_14 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_15)}
;
extern TSafePoint* excHandler__system_u2565;
extern TFrame* framePtr__system_u2564;
extern tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw gch__system_u5252;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
 (*s).prev = excHandler__system_u2565;
 excHandler__system_u2565 = s;
}
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
 tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
 NI T1_;
 a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
 T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* a;
 NI T1_;
 a = (tySequence__PSP8snSsRoFs9cDiya9bd7UQ*)p;
 T1_ = (NI)0;
 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
 nimGCvisit((void*)a->data[T1_], op);
 }
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u2564 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u2564).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u2564;
 framePtr__system_u2564 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u2997();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u2564 = (*framePtr__system_u2564).prev;
}
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = pluspercent___system_u696((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 result = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___system_u716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/comparisons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 addZCT__system_u5299((&gch__system_u5252.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = minuspercent___system_u716((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___system_u1005((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__system_u5348(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T5_ = usrToCell__system_u5305(src);
  incRef__system_u5343(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T10_ = usrToCell__system_u5305((*dest));
  decRef__system_u5350(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T1_;
 nimfr_("nimGCunrefNoCycle", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 T1_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = usrToCell__system_u5305(p);
 decRef__system_u5350(T1_);
 popFrame();
}
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u89((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input) {
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T9_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T2_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T2_ = (input ? input->Sup.len : 0);
  colontmp_ = T2_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA4;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T6_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
     T6_ = (input->data[i] ? input->data[i]->Sup.len : 0);
     colontmp__2 = T6_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA8;
       j = i_3;
       if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
       if (j < 0 || j >= (input->data[i] ? input->data[i]->Sup.len : 0)){ raiseIndexError2(j,(input->data[i] ? input->data[i]->Sup.len : 0)-1); }
       if (nimAddInt(sum, input->data[i]->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); };
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA8: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); };
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA4: ;
  }
 }
 nimZeroMem((void*)T9_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T9_[0] = dollar___systemZdollars_u3(sum);
 echoBinSafe(T9_, 1);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 genericSeqAssign((&input), (*objTemp).input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 someTask__temp_u11(input);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u197(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_11));
 }
 LA3_: ;
 task.callback(task.args);
 popFrame();
}
static N_INLINE(void, popSafePoint)(void) {
 excHandler__system_u2565 = (*excHandler__system_u2565).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
 TFrame* result;
 result = (TFrame*)0;
 result = framePtr__system_u2564;
 return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
 framePtr__system_u2564 = s;
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym0_;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T7_;
 TFrame* _nimCurFrame;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_2);
 TM__SRd76hP9cMfCzdUO857UhQQ_2.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_2.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status == 0) {
 resultX60gensym0_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym3_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym0_ = i;
    if (iX60gensym0_ < 0 || iX60gensym0_ >= (resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)){ raiseIndexError2(iX60gensym0_,(resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)-1); }
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= (resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)){ raiseIndexError2(iX60gensym3_,(resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)-1); }
       resultX60gensym3_->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym0_->data[iX60gensym0_]), resultX60gensym3_);
    resultX60gensym3_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4);
   } LA3: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
 }
 LA10_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD__3;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3 = NIM_NIL;
  genericSeqAssign((&colontmpD__3), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
  isolate__temp_u151(colontmpD__3, (&isoTemp));
  unsureAsgnRef((void**) (&(*scratch).input), extract__temp_u176((&isoTemp)));
  eqdestroy___temp_u157((&isoTemp));
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u138;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u139;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) reraiseException();
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input838860901;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 input838860901 = (*objTemp838860899).input;
 someTask__temp_u11(input838860901);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u375(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void) {
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__3;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_16;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym9_;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T7_;
 NimStringDesc* T14_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* T21_;
 TFrame* _nimCurFrame;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_ = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__3 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_16);
 TM__SRd76hP9cMfCzdUO857UhQQ_16.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_16.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status == 0) {
 resultX60gensym9_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym12_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym9_ = i;
    if (iX60gensym9_ < 0 || iX60gensym9_ >= (resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)){ raiseIndexError2(iX60gensym9_,(resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)-1); }
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= (resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)){ raiseIndexError2(iX60gensym12_,(resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)-1); }
       resultX60gensym12_->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym9_->data[iX60gensym9_]), resultX60gensym12_);
    resultX60gensym12_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
   } LA3: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch838860896 == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
 }
 LA10_: ;
 genericSeqAssign((&colontmpD_), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 isolate__temp_u151(colontmpD_, (&isoTemp838860900));
 unsureAsgnRef((void**) (&(*scratch838860896).input), extract__temp_u176((&isoTemp838860900)));
 T14_ = NIM_NIL;
 T14_ = GC_getStatistics__system_u2268();
 (void)(T14_);
 GC_fullCollect__system_u2265();
 resultX60gensym13_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym16_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
    if (!(i_3 < ((NI) 10000))) goto LA17;
    iX60gensym13_ = i_3;
    if (iX60gensym13_ < 0 || iX60gensym13_ >= (resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)){ raiseIndexError2(iX60gensym13_,(resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)-1); }
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_19;
       if (!(i_4 < ((NI) 10000))) goto LA20;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= (resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)){ raiseIndexError2(iX60gensym16_,(resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)-1); }
       resultX60gensym16_->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_19)) { raiseOverflow(); };
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_19);
      } LA20: ;
     }
    }
    asgnRef((void**) (&resultX60gensym13_->data[iX60gensym13_]), resultX60gensym16_);
    resultX60gensym16_ = NIM_NIL;
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); };
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
   } LA17: ;
  }
 }
 T21_ = NIM_NIL;
 T21_ = resultX60gensym13_;
 resultX60gensym13_ = NIM_NIL;
 (void)(T21_);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = someTask838860903__temp_u356;
 task.callback = colontmpD__2;
 task.args = ((void*) (scratch838860896));
 colontmpD__3 = destroyScratch838860904__temp_u369;
 task.destroy = colontmpD__3;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  eqdestroy___temp_u157((&isoTemp838860900));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) reraiseException();
 popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
 nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 void (*volatile inner)(void);
 inner = PreMainInner;
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 initStackBottomWith((void *)&inner);
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 atmtempdotnim_DatInit000();
 (*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 void (*volatile inner)(void);
 PreMain();
 inner = NimMainInner;
 initStackBottomWith((void *)&inner);
 (*inner)();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 main__temp_u32();
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_14, 1);
 expandedMain__temp_u228();
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.size = sizeof(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.align = NIM_ALIGNOF(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.kind = 24;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.base = (&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.flags = 2;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.marker = Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
}

Stats

  • Started 2024-07-24T12:47:46
  • Finished 2024-07-24T12:47:49
  • Duration 3 minutes

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.4.8 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(1, 11) Error: cannot open file: std/tasks

IR

Compiled filesize 154.48 Kb (158,184 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct TSafePoint TSafePoint;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ tyObject_Cell__USbPc9alteBFOfRejw0IPYQ;
typedef struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg;
typedef struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw;
typedef struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw;
typedef struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw;
typedef struct tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q;
typedef struct tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w;
typedef struct tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ;
typedef struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ;
typedef struct tyObject_Trunk__KdFprq6T12mWzGalsCR7gg tyObject_Trunk__KdFprq6T12mWzGalsCR7gg;
typedef struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g;
typedef struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg;
typedef struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyTuple__59a7yNnUUaLYoYgMyTxCvyA;
typedef struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ;
typedef struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA;
typedef struct tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
typedef NU8 tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ kind;
tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg* trace;
Exception* up;
};
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NU8 tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig;
struct TNimNode {
tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw {
void* bottom;
};
struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg {
NI len;
NI cap;
tyObject_Cell__USbPc9alteBFOfRejw0IPYQ** d;
};
typedef tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q* tyArray__am9ckwqC56M7ACKNToDQf8g[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* tyArray__dKp1AZMrWGPz9btzS7Vnpow[32];
typedef tyArray__dKp1AZMrWGPz9btzS7Vnpow tyArray__qtz48s7lyP6EI0JVCgNDLw[24];
typedef tyObject_Trunk__KdFprq6T12mWzGalsCR7gg* tyArray__n7OYK9anGXLKqT2bAWs4WmA[256];
struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ {
tyArray__n7OYK9anGXLKqT2bAWs4WmA data;
};
typedef tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* tyArray__FZjlW9aArl8yDtsaKBHERDQ[2];
struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g {
tyArray__FZjlW9aArl8yDtsaKBHERDQ link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA {
tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* Field0;
NI Field1;
};
typedef tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyArray__BxsOe7WmMYPypzw9cg9aWRFQ[30];
struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg {
NI len;
tyArray__BxsOe7WmMYPypzw9cg9aWRFQ chunks;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg* next;
};
struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw {
NI minLargeObj;
NI maxLargeObj;
tyArray__am9ckwqC56M7ACKNToDQf8g freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__qtz48s7lyP6EI0JVCgNDLw matrix;
tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ chunkStarts;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* root;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* deleted;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* last;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g bottomData;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg heapLinks;
};
struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA {
NI counter;
NI max;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g* head;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g** data;
};
struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw {
tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg zct;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg decStack;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tempStack;
NI recGcLock;
tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw region;
tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ stat;
tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA marked;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg additionalRoots;
NI gcThreadId;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
TGenericSeq Sup;
tySequence__qwqHTkRvwhrRyENtudHQ7g* data[SEQ_DECL_SIZE];
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
TGenericSeq Sup;
tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, newSeq__temp_u81)(NI len);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr);
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y);
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_u5299)(tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg* s, tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(void, isolate__temp_u151)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value, tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* Result);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, extract__temp_u176)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u89)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ** dest);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u56)(NimStringDesc* msg);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_u2268)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u2265)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_;
extern TNimType NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_;
extern TNimType NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_5, "Could not allocate memory", 25);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "sum is:", 7);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_11, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` ", 95);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_13, "sum should be:", 14);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_12 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_13)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_15, "---", 3);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_14 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_15)}
;
extern TSafePoint* excHandler__system_u2565;
extern TFrame* framePtr__system_u2564;
extern tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw gch__system_u5252;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
 (*s).prev = excHandler__system_u2565;
 excHandler__system_u2565 = s;
}
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
 tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
 NI T1_;
 a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
 T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* a;
 NI T1_;
 a = (tySequence__PSP8snSsRoFs9cDiya9bd7UQ*)p;
 T1_ = (NI)0;
 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
 nimGCvisit((void*)a->data[T1_], op);
 }
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u2564 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u2564).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u2564;
 framePtr__system_u2564 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u2997();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u2564 = (*framePtr__system_u2564).prev;
}
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = pluspercent___system_u696((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 result = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___system_u716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/comparisons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 addZCT__system_u5299((&gch__system_u5252.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = minuspercent___system_u716((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___system_u1005((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__system_u5348(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T5_ = usrToCell__system_u5305(src);
  incRef__system_u5343(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T10_ = usrToCell__system_u5305((*dest));
  decRef__system_u5350(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T1_;
 nimfr_("nimGCunrefNoCycle", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 T1_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = usrToCell__system_u5305(p);
 decRef__system_u5350(T1_);
 popFrame();
}
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u89((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input) {
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T9_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T2_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T2_ = (input ? input->Sup.len : 0);
  colontmp_ = T2_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA4;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T6_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
     T6_ = (input->data[i] ? input->data[i]->Sup.len : 0);
     colontmp__2 = T6_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA8;
       j = i_3;
       if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
       if (j < 0 || j >= (input->data[i] ? input->data[i]->Sup.len : 0)){ raiseIndexError2(j,(input->data[i] ? input->data[i]->Sup.len : 0)-1); }
       if (nimAddInt(sum, input->data[i]->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); };
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA8: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); };
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA4: ;
  }
 }
 nimZeroMem((void*)T9_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T9_[0] = dollar___systemZdollars_u3(sum);
 echoBinSafe(T9_, 1);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 genericSeqAssign((&input), (*objTemp).input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 someTask__temp_u11(input);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u197(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_11));
 }
 LA3_: ;
 task.callback(task.args);
 popFrame();
}
static N_INLINE(void, popSafePoint)(void) {
 excHandler__system_u2565 = (*excHandler__system_u2565).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
 TFrame* result;
 result = (TFrame*)0;
 result = framePtr__system_u2564;
 return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
 framePtr__system_u2564 = s;
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym0_;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T7_;
 TFrame* _nimCurFrame;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_2);
 TM__SRd76hP9cMfCzdUO857UhQQ_2.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_2.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status == 0) {
 resultX60gensym0_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym3_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym0_ = i;
    if (iX60gensym0_ < 0 || iX60gensym0_ >= (resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)){ raiseIndexError2(iX60gensym0_,(resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)-1); }
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= (resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)){ raiseIndexError2(iX60gensym3_,(resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)-1); }
       resultX60gensym3_->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym0_->data[iX60gensym0_]), resultX60gensym3_);
    resultX60gensym3_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4);
   } LA3: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
 }
 LA10_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD__3;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3 = NIM_NIL;
  genericSeqAssign((&colontmpD__3), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
  isolate__temp_u151(colontmpD__3, (&isoTemp));
  unsureAsgnRef((void**) (&(*scratch).input), extract__temp_u176((&isoTemp)));
  eqdestroy___temp_u157((&isoTemp));
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u138;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u139;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) reraiseException();
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input838860901;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 input838860901 = (*objTemp838860899).input;
 someTask__temp_u11(input838860901);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u375(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void) {
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__3;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_16;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym9_;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T7_;
 NimStringDesc* T14_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* T21_;
 TFrame* _nimCurFrame;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_ = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__3 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_16);
 TM__SRd76hP9cMfCzdUO857UhQQ_16.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_16.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status == 0) {
 resultX60gensym9_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym12_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym9_ = i;
    if (iX60gensym9_ < 0 || iX60gensym9_ >= (resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)){ raiseIndexError2(iX60gensym9_,(resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)-1); }
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= (resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)){ raiseIndexError2(iX60gensym12_,(resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)-1); }
       resultX60gensym12_->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym9_->data[iX60gensym9_]), resultX60gensym12_);
    resultX60gensym12_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
   } LA3: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch838860896 == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
 }
 LA10_: ;
 genericSeqAssign((&colontmpD_), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 isolate__temp_u151(colontmpD_, (&isoTemp838860900));
 unsureAsgnRef((void**) (&(*scratch838860896).input), extract__temp_u176((&isoTemp838860900)));
 T14_ = NIM_NIL;
 T14_ = GC_getStatistics__system_u2268();
 (void)(T14_);
 GC_fullCollect__system_u2265();
 resultX60gensym13_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym16_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
    if (!(i_3 < ((NI) 10000))) goto LA17;
    iX60gensym13_ = i_3;
    if (iX60gensym13_ < 0 || iX60gensym13_ >= (resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)){ raiseIndexError2(iX60gensym13_,(resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)-1); }
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_19;
       if (!(i_4 < ((NI) 10000))) goto LA20;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= (resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)){ raiseIndexError2(iX60gensym16_,(resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)-1); }
       resultX60gensym16_->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_19)) { raiseOverflow(); };
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_19);
      } LA20: ;
     }
    }
    asgnRef((void**) (&resultX60gensym13_->data[iX60gensym13_]), resultX60gensym16_);
    resultX60gensym16_ = NIM_NIL;
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); };
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
   } LA17: ;
  }
 }
 T21_ = NIM_NIL;
 T21_ = resultX60gensym13_;
 resultX60gensym13_ = NIM_NIL;
 (void)(T21_);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = someTask838860903__temp_u356;
 task.callback = colontmpD__2;
 task.args = ((void*) (scratch838860896));
 colontmpD__3 = destroyScratch838860904__temp_u369;
 task.destroy = colontmpD__3;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  eqdestroy___temp_u157((&isoTemp838860900));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) reraiseException();
 popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
 nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 void (*volatile inner)(void);
 inner = PreMainInner;
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 initStackBottomWith((void *)&inner);
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 atmtempdotnim_DatInit000();
 (*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 void (*volatile inner)(void);
 PreMain();
 inner = NimMainInner;
 initStackBottomWith((void *)&inner);
 (*inner)();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 main__temp_u32();
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_14, 1);
 expandedMain__temp_u228();
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.size = sizeof(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.align = NIM_ALIGNOF(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.kind = 24;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.base = (&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.flags = 2;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.marker = Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
}

Stats

  • Started 2024-07-24T12:47:52
  • Finished 2024-07-24T12:47:52
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.2.18 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(1, 11) Error: cannot open file: std/isolation

IR

Compiled filesize 154.48 Kb (158,184 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct TSafePoint TSafePoint;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ tyObject_Cell__USbPc9alteBFOfRejw0IPYQ;
typedef struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg;
typedef struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw;
typedef struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw;
typedef struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw;
typedef struct tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q;
typedef struct tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w;
typedef struct tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ;
typedef struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ;
typedef struct tyObject_Trunk__KdFprq6T12mWzGalsCR7gg tyObject_Trunk__KdFprq6T12mWzGalsCR7gg;
typedef struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g;
typedef struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg;
typedef struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyTuple__59a7yNnUUaLYoYgMyTxCvyA;
typedef struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ;
typedef struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA;
typedef struct tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
typedef NU8 tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ kind;
tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg* trace;
Exception* up;
};
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NU8 tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig;
struct TNimNode {
tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw {
void* bottom;
};
struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg {
NI len;
NI cap;
tyObject_Cell__USbPc9alteBFOfRejw0IPYQ** d;
};
typedef tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q* tyArray__am9ckwqC56M7ACKNToDQf8g[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* tyArray__dKp1AZMrWGPz9btzS7Vnpow[32];
typedef tyArray__dKp1AZMrWGPz9btzS7Vnpow tyArray__qtz48s7lyP6EI0JVCgNDLw[24];
typedef tyObject_Trunk__KdFprq6T12mWzGalsCR7gg* tyArray__n7OYK9anGXLKqT2bAWs4WmA[256];
struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ {
tyArray__n7OYK9anGXLKqT2bAWs4WmA data;
};
typedef tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* tyArray__FZjlW9aArl8yDtsaKBHERDQ[2];
struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g {
tyArray__FZjlW9aArl8yDtsaKBHERDQ link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA {
tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* Field0;
NI Field1;
};
typedef tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyArray__BxsOe7WmMYPypzw9cg9aWRFQ[30];
struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg {
NI len;
tyArray__BxsOe7WmMYPypzw9cg9aWRFQ chunks;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg* next;
};
struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw {
NI minLargeObj;
NI maxLargeObj;
tyArray__am9ckwqC56M7ACKNToDQf8g freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__qtz48s7lyP6EI0JVCgNDLw matrix;
tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ chunkStarts;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* root;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* deleted;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* last;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g bottomData;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg heapLinks;
};
struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA {
NI counter;
NI max;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g* head;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g** data;
};
struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw {
tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg zct;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg decStack;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tempStack;
NI recGcLock;
tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw region;
tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ stat;
tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA marked;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg additionalRoots;
NI gcThreadId;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
TGenericSeq Sup;
tySequence__qwqHTkRvwhrRyENtudHQ7g* data[SEQ_DECL_SIZE];
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
TGenericSeq Sup;
tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, newSeq__temp_u81)(NI len);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr);
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y);
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_u5299)(tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg* s, tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(void, isolate__temp_u151)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value, tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* Result);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, extract__temp_u176)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u89)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ** dest);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u56)(NimStringDesc* msg);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_u2268)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u2265)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_;
extern TNimType NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_;
extern TNimType NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_5, "Could not allocate memory", 25);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "sum is:", 7);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_11, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` ", 95);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_13, "sum should be:", 14);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_12 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_13)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_15, "---", 3);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_14 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_15)}
;
extern TSafePoint* excHandler__system_u2565;
extern TFrame* framePtr__system_u2564;
extern tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw gch__system_u5252;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
 (*s).prev = excHandler__system_u2565;
 excHandler__system_u2565 = s;
}
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
 tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
 NI T1_;
 a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
 T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* a;
 NI T1_;
 a = (tySequence__PSP8snSsRoFs9cDiya9bd7UQ*)p;
 T1_ = (NI)0;
 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
 nimGCvisit((void*)a->data[T1_], op);
 }
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u2564 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u2564).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u2564;
 framePtr__system_u2564 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u2997();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u2564 = (*framePtr__system_u2564).prev;
}
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = pluspercent___system_u696((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 result = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___system_u716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/comparisons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 addZCT__system_u5299((&gch__system_u5252.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = minuspercent___system_u716((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___system_u1005((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__system_u5348(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T5_ = usrToCell__system_u5305(src);
  incRef__system_u5343(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T10_ = usrToCell__system_u5305((*dest));
  decRef__system_u5350(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T1_;
 nimfr_("nimGCunrefNoCycle", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 T1_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = usrToCell__system_u5305(p);
 decRef__system_u5350(T1_);
 popFrame();
}
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u89((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input) {
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T9_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T2_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T2_ = (input ? input->Sup.len : 0);
  colontmp_ = T2_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA4;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T6_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
     T6_ = (input->data[i] ? input->data[i]->Sup.len : 0);
     colontmp__2 = T6_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA8;
       j = i_3;
       if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
       if (j < 0 || j >= (input->data[i] ? input->data[i]->Sup.len : 0)){ raiseIndexError2(j,(input->data[i] ? input->data[i]->Sup.len : 0)-1); }
       if (nimAddInt(sum, input->data[i]->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); };
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA8: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); };
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA4: ;
  }
 }
 nimZeroMem((void*)T9_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T9_[0] = dollar___systemZdollars_u3(sum);
 echoBinSafe(T9_, 1);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 genericSeqAssign((&input), (*objTemp).input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 someTask__temp_u11(input);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u197(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_11));
 }
 LA3_: ;
 task.callback(task.args);
 popFrame();
}
static N_INLINE(void, popSafePoint)(void) {
 excHandler__system_u2565 = (*excHandler__system_u2565).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
 TFrame* result;
 result = (TFrame*)0;
 result = framePtr__system_u2564;
 return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
 framePtr__system_u2564 = s;
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym0_;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T7_;
 TFrame* _nimCurFrame;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_2);
 TM__SRd76hP9cMfCzdUO857UhQQ_2.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_2.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status == 0) {
 resultX60gensym0_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym3_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym0_ = i;
    if (iX60gensym0_ < 0 || iX60gensym0_ >= (resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)){ raiseIndexError2(iX60gensym0_,(resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)-1); }
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= (resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)){ raiseIndexError2(iX60gensym3_,(resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)-1); }
       resultX60gensym3_->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym0_->data[iX60gensym0_]), resultX60gensym3_);
    resultX60gensym3_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4);
   } LA3: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
 }
 LA10_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD__3;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3 = NIM_NIL;
  genericSeqAssign((&colontmpD__3), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
  isolate__temp_u151(colontmpD__3, (&isoTemp));
  unsureAsgnRef((void**) (&(*scratch).input), extract__temp_u176((&isoTemp)));
  eqdestroy___temp_u157((&isoTemp));
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u138;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u139;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) reraiseException();
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input838860901;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 input838860901 = (*objTemp838860899).input;
 someTask__temp_u11(input838860901);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u375(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void) {
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__3;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_16;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym9_;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T7_;
 NimStringDesc* T14_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* T21_;
 TFrame* _nimCurFrame;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_ = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__3 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_16);
 TM__SRd76hP9cMfCzdUO857UhQQ_16.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_16.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status == 0) {
 resultX60gensym9_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym12_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym9_ = i;
    if (iX60gensym9_ < 0 || iX60gensym9_ >= (resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)){ raiseIndexError2(iX60gensym9_,(resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)-1); }
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= (resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)){ raiseIndexError2(iX60gensym12_,(resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)-1); }
       resultX60gensym12_->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym9_->data[iX60gensym9_]), resultX60gensym12_);
    resultX60gensym12_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
   } LA3: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch838860896 == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
 }
 LA10_: ;
 genericSeqAssign((&colontmpD_), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 isolate__temp_u151(colontmpD_, (&isoTemp838860900));
 unsureAsgnRef((void**) (&(*scratch838860896).input), extract__temp_u176((&isoTemp838860900)));
 T14_ = NIM_NIL;
 T14_ = GC_getStatistics__system_u2268();
 (void)(T14_);
 GC_fullCollect__system_u2265();
 resultX60gensym13_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym16_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
    if (!(i_3 < ((NI) 10000))) goto LA17;
    iX60gensym13_ = i_3;
    if (iX60gensym13_ < 0 || iX60gensym13_ >= (resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)){ raiseIndexError2(iX60gensym13_,(resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)-1); }
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_19;
       if (!(i_4 < ((NI) 10000))) goto LA20;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= (resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)){ raiseIndexError2(iX60gensym16_,(resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)-1); }
       resultX60gensym16_->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_19)) { raiseOverflow(); };
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_19);
      } LA20: ;
     }
    }
    asgnRef((void**) (&resultX60gensym13_->data[iX60gensym13_]), resultX60gensym16_);
    resultX60gensym16_ = NIM_NIL;
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); };
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
   } LA17: ;
  }
 }
 T21_ = NIM_NIL;
 T21_ = resultX60gensym13_;
 resultX60gensym13_ = NIM_NIL;
 (void)(T21_);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = someTask838860903__temp_u356;
 task.callback = colontmpD__2;
 task.args = ((void*) (scratch838860896));
 colontmpD__3 = destroyScratch838860904__temp_u369;
 task.destroy = colontmpD__3;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  eqdestroy___temp_u157((&isoTemp838860900));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) reraiseException();
 popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
 nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 void (*volatile inner)(void);
 inner = PreMainInner;
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 initStackBottomWith((void *)&inner);
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 atmtempdotnim_DatInit000();
 (*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 void (*volatile inner)(void);
 PreMain();
 inner = NimMainInner;
 initStackBottomWith((void *)&inner);
 (*inner)();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 main__temp_u32();
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_14, 1);
 expandedMain__temp_u228();
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.size = sizeof(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.align = NIM_ALIGNOF(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.kind = 24;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.base = (&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.flags = 2;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.marker = Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
}

Stats

  • Started 2024-07-24T12:47:54
  • Finished 2024-07-24T12:47:54
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.0.10 👎 FAIL

Output

Error: Command failed: nim c --opt:speed --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(1, 11) Error: cannot open file: std/isolation

IR

Compiled filesize 154.48 Kb (158,184 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <setjmp.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct TSafePoint TSafePoint;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ tyObject_Cell__USbPc9alteBFOfRejw0IPYQ;
typedef struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg;
typedef struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw;
typedef struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw;
typedef struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw;
typedef struct tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q;
typedef struct tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w;
typedef struct tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ;
typedef struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ;
typedef struct tyObject_Trunk__KdFprq6T12mWzGalsCR7gg tyObject_Trunk__KdFprq6T12mWzGalsCR7gg;
typedef struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g;
typedef struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg;
typedef struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyTuple__59a7yNnUUaLYoYgMyTxCvyA;
typedef struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ;
typedef struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA;
typedef struct tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
typedef NU8 tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ;
typedef NU8 tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__b9brdfAMvuT12kv1MtmF3IQ kind;
tySet_tyEnum_TNimTypeFlag__h29aLKtZInAIaLqhWRujWcA flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringDesc* message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg* trace;
Exception* up;
};
typedef long tyArray__TcvIiMAJvcwzNLsZkfnFnQ[25];
struct TSafePoint {
TSafePoint* prev;
NI status;
jmp_buf context;
};
typedef NU8 tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig;
struct TNimNode {
tyEnum_TNimNodeKind__K6UETQxRj3HYBl69c6NhKig kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_Cell__USbPc9alteBFOfRejw0IPYQ {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw {
void* bottom;
};
struct tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg {
NI len;
NI cap;
tyObject_Cell__USbPc9alteBFOfRejw0IPYQ** d;
};
typedef tyObject_SmallChunk__O53kXtyFD7TDiEYwk5Td1Q* tyArray__am9ckwqC56M7ACKNToDQf8g[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* tyArray__dKp1AZMrWGPz9btzS7Vnpow[32];
typedef tyArray__dKp1AZMrWGPz9btzS7Vnpow tyArray__qtz48s7lyP6EI0JVCgNDLw[24];
typedef tyObject_Trunk__KdFprq6T12mWzGalsCR7gg* tyArray__n7OYK9anGXLKqT2bAWs4WmA[256];
struct tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ {
tyArray__n7OYK9anGXLKqT2bAWs4WmA data;
};
typedef tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* tyArray__FZjlW9aArl8yDtsaKBHERDQ[2];
struct tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g {
tyArray__FZjlW9aArl8yDtsaKBHERDQ link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__59a7yNnUUaLYoYgMyTxCvyA {
tyObject_BigChunk__yXMahKLrwWYxDO82eN9ba1w* Field0;
NI Field1;
};
typedef tyTuple__59a7yNnUUaLYoYgMyTxCvyA tyArray__BxsOe7WmMYPypzw9cg9aWRFQ[30];
struct tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg {
NI len;
tyArray__BxsOe7WmMYPypzw9cg9aWRFQ chunks;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg* next;
};
struct tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw {
NI minLargeObj;
NI maxLargeObj;
tyArray__am9ckwqC56M7ACKNToDQf8g freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__qtz48s7lyP6EI0JVCgNDLw matrix;
tyObject_LLChunk__UJR9cDjZvibCSXo9aRj7SX9cQ* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__i7ywOkONvFvdahwK0NEBVQ chunkStarts;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* root;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* deleted;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* last;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__HGw0Fii3rdknN9aH9aqThc3g bottomData;
tyObject_HeapLinks__Bw0IMvdOVqyBxxH1ZmEDeg heapLinks;
};
struct tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA {
NI counter;
NI max;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g* head;
tyObject_PageDesc__j9aIB2yRpeIkPT6e1CrFY5g** data;
};
struct tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw {
tyObject_GcStack__rDlr9cRaEdNqxGR9croMEJNw stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg zct;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg decStack;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg tempStack;
NI recGcLock;
tyObject_MemRegion__D0dQEAx0h5Bhgc8Q6BW2Iw region;
tyObject_GcStat__fGBxrB5bu5S0xC9brjmfkoQ stat;
tyObject_CellSet__UY9caB79b0qIHRObBn8A4WSA marked;
tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg additionalRoots;
NI gcThreadId;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value;
};
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
};
struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
TGenericSeq Sup;
NI data[SEQ_DECL_SIZE];
};
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
TGenericSeq Sup;
tySequence__qwqHTkRvwhrRyENtudHQ7g* data[SEQ_DECL_SIZE];
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
TGenericSeq Sup;
tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(void, pushSafePoint)(TSafePoint* s);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, newSeq__temp_u81)(NI len);
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g*, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u2997)(void);
static N_INLINE(void, popFrame)(void);
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr);
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y);
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_u5299)(tyObject_CellSeq__jRKHLJ9a9c5ErVSJdxK4Cpgg* s, tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c);
N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(void, isolate__temp_u151)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* value, tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* Result);
N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*, extract__temp_u176)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u89)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ** dest);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u56)(NimStringDesc* msg);
static N_INLINE(void, popSafePoint)(void);
static N_INLINE(TFrame*, getFrame)(void);
static N_INLINE(void, setFrame)(TFrame* s);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, nimLeaveFinally)(void);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, GC_getStatistics__system_u2268)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u2265)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_;
N_LIB_PRIVATE TNimType NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_;
extern TNimType NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_;
extern TNimType NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_5, "Could not allocate memory", 25);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_10, "sum is:", 7);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_10)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_11, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` ", 95);
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_13, "sum should be:", 14);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_12 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_13)}
;
STRING_LITERAL(TM__SRd76hP9cMfCzdUO857UhQQ_15, "---", 3);
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_14 = {((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_15)}
;
extern TSafePoint* excHandler__system_u2565;
extern TFrame* framePtr__system_u2564;
extern tyObject_GcHeap__t69aQjzxW7FmvOL7XpHLmyw gch__system_u5252;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
}
static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
 (*s).prev = excHandler__system_u2565;
 excHandler__system_u2565 = s;
}
static N_NIMCALL(void, Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g)(void* p, NI op) {
 tySequence__qwqHTkRvwhrRyENtudHQ7g* a;
 NI T1_;
 a = (tySequence__qwqHTkRvwhrRyENtudHQ7g*)p;
 T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ)(void* p, NI op) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* a;
 NI T1_;
 a = (tySequence__PSP8snSsRoFs9cDiya9bd7UQ*)p;
 T1_ = (NI)0;
 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
 nimGCvisit((void*)a->data[T1_], op);
 }
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u2564 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u2564).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u2564;
 framePtr__system_u2564 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u2997();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u2564 = (*framePtr__system_u2564).prev;
}
static N_INLINE(NI, pluspercent___system_u696)(NI x, NI y) {
 NI result;
 nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(void, incRef__system_u5343)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = pluspercent___system_u696((*c).refcount, ((NI) 8));
 popFrame();
}
static N_INLINE(NI, minuspercent___system_u716)(NI x, NI y) {
 NI result;
 nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/arithmetics.nim");
 result = (NI)0;
 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
 popFrame();
 return result;
}
static N_INLINE(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*, usrToCell__system_u5305)(void* usr) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* result;
 NI T1_;
 nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 result = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = (NI)0;
 T1_ = minuspercent___system_u716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
 result = ((tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*) (T1_));
 popFrame();
 return result;
}
static N_INLINE(NIM_BOOL, ltpercent___system_u1005)(NI x, NI y) {
 NIM_BOOL result;
 nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/comparisons.nim");
 result = (NIM_BOOL)0;
 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
 popFrame();
 return result;
}
static N_INLINE(void, rtlAddZCT__system_u5348)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 addZCT__system_u5299((&gch__system_u5252.zct), c);
 popFrame();
}
static N_INLINE(void, decRef__system_u5350)(tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* c) {
 nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 (*c).refcount = minuspercent___system_u716((*c).refcount, ((NI) 8));
 {
  NIM_BOOL T3_;
  T3_ = (NIM_BOOL)0;
  T3_ = ltpercent___system_u1005((*c).refcount, ((NI) 8));
  if (!T3_) goto LA4_;
  rtlAddZCT__system_u5348(c);
 }
 LA4_: ;
 popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
 nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T5_;
  if (!!((src == NIM_NIL))) goto LA3_;
  T5_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T5_ = usrToCell__system_u5305(src);
  incRef__system_u5343(T5_);
 }
 LA3_: ;
 {
  tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T10_;
  if (!!(((*dest) == NIM_NIL))) goto LA8_;
  T10_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
  T10_ = usrToCell__system_u5305((*dest));
  decRef__system_u5350(T10_);
 }
 LA8_: ;
 (*dest) = src;
 popFrame();
}
static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
 tyObject_Cell__USbPc9alteBFOfRejw0IPYQ* T1_;
 nimfr_("nimGCunrefNoCycle", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/system/gc.nim");
 T1_ = (tyObject_Cell__USbPc9alteBFOfRejw0IPYQ*)0;
 T1_ = usrToCell__system_u5305(p);
 decRef__system_u5350(T1_);
 popFrame();
}
static N_INLINE(void, eqdestroy___temp_u157)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u89((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input) {
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T9_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T2_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T2_ = (input ? input->Sup.len : 0);
  colontmp_ = T2_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA4;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T6_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
     T6_ = (input->data[i] ? input->data[i]->Sup.len : 0);
     colontmp__2 = T6_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA8;
       j = i_3;
       if (i < 0 || i >= (input ? input->Sup.len : 0)){ raiseIndexError2(i,(input ? input->Sup.len : 0)-1); }
       if (j < 0 || j >= (input->data[i] ? input->data[i]->Sup.len : 0)){ raiseIndexError2(j,(input->data[i] ? input->data[i]->Sup.len : 0)-1); }
       if (nimAddInt(sum, input->data[i]->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); };
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); };
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA8: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); };
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA4: ;
  }
 }
 nimZeroMem((void*)T9_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
 T9_[0] = dollar___systemZdollars_u3(sum);
 echoBinSafe(T9_, 1);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u138)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 genericSeqAssign((&input), (*objTemp).input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 someTask__temp_u11(input);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u197)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u139)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u197(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u56(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_11));
 }
 LA3_: ;
 task.callback(task.args);
 popFrame();
}
static N_INLINE(void, popSafePoint)(void) {
 excHandler__system_u2565 = (*excHandler__system_u2565).prev;
}
static N_INLINE(TFrame*, getFrame)(void) {
 TFrame* result;
 result = (TFrame*)0;
 result = framePtr__system_u2564;
 return result;
}
static N_INLINE(void, setFrame)(TFrame* s) {
 framePtr__system_u2564 = s;
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym0_;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T7_;
 TFrame* _nimCurFrame;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_2);
 TM__SRd76hP9cMfCzdUO857UhQQ_2.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_2.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status == 0) {
 resultX60gensym0_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym3_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_4;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym0_ = i;
    if (iX60gensym0_ < 0 || iX60gensym0_ >= (resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)){ raiseIndexError2(iX60gensym0_,(resultX60gensym0_ ? resultX60gensym0_->Sup.len : 0)-1); }
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= (resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)){ raiseIndexError2(iX60gensym3_,(resultX60gensym3_ ? resultX60gensym3_->Sup.len : 0)-1); }
       resultX60gensym3_->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym0_->data[iX60gensym0_]), resultX60gensym3_);
    resultX60gensym3_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_4)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_4);
   } LA3: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
 }
 LA10_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD__3;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3 = NIM_NIL;
  genericSeqAssign((&colontmpD__3), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
  isolate__temp_u151(colontmpD__3, (&isoTemp));
  unsureAsgnRef((void**) (&(*scratch).input), extract__temp_u176((&isoTemp)));
  eqdestroy___temp_u157((&isoTemp));
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u138;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u139;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_2.status != 0) reraiseException();
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u356)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input838860901;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 input838860901 = (*objTemp838860899).input;
 someTask__temp_u11(input838860901);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u375)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u369)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u375(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u228)(void) {
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* colontmpD_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__3;
 TSafePoint TM__SRd76hP9cMfCzdUO857UhQQ_16;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym9_;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T7_;
 NimStringDesc* T14_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ* T21_;
 TFrame* _nimCurFrame;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
 _nimCurFrame = getFrame();
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_ = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__3 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 pushSafePoint(&TM__SRd76hP9cMfCzdUO857UhQQ_16);
 TM__SRd76hP9cMfCzdUO857UhQQ_16.status = setjmp(TM__SRd76hP9cMfCzdUO857UhQQ_16.context);
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status == 0) {
 resultX60gensym9_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym12_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA3;
    iX60gensym9_ = i;
    if (iX60gensym9_ < 0 || iX60gensym9_ >= (resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)){ raiseIndexError2(iX60gensym9_,(resultX60gensym9_ ? resultX60gensym9_->Sup.len : 0)-1); }
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA6;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= (resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)){ raiseIndexError2(iX60gensym12_,(resultX60gensym12_ ? resultX60gensym12_->Sup.len : 0)-1); }
       resultX60gensym12_->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); };
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA6: ;
     }
    }
    asgnRef((void**) (&resultX60gensym9_->data[iX60gensym9_]), resultX60gensym12_);
    resultX60gensym12_ = NIM_NIL;
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); };
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
   } LA3: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_ = NIM_NIL;
 T7_ = (void*)0;
 T7_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T7_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T12_;
  NimStringDesc* T13_;
  if (!(scratch838860896 == 0)) goto LA10_;
  T12_ = NIM_NIL;
  T12_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) newObj((&NTIrefoutofmemdefect__G8iyEgbxa418sLFcX59aUKg_), sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T12_).Sup.Sup.Sup.m_type = (&NTIoutofmemdefect__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T12_).Sup.Sup.name = "OutOfMemDefect";
  T13_ = NIM_NIL;
  T13_ = (*T12_).Sup.Sup.message; (*T12_).Sup.Sup.message = copyStringRC1(((NimStringDesc*) &TM__SRd76hP9cMfCzdUO857UhQQ_5));
  if (T13_) nimGCunrefNoCycle(T13_);
  asgnRef((void**) (&(*T12_).Sup.Sup.parent), ((Exception*) NIM_NIL));
  raiseExceptionEx((Exception*)T12_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
 }
 LA10_: ;
 genericSeqAssign((&colontmpD_), input, (&NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_));
 isolate__temp_u151(colontmpD_, (&isoTemp838860900));
 unsureAsgnRef((void**) (&(*scratch838860896).input), extract__temp_u176((&isoTemp838860900)));
 T14_ = NIM_NIL;
 T14_ = GC_getStatistics__system_u2268();
 (void)(T14_);
 GC_fullCollect__system_u2265();
 resultX60gensym13_ = newSeq__temp_u81(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g* resultX60gensym16_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
    if (!(i_3 < ((NI) 10000))) goto LA17;
    iX60gensym13_ = i_3;
    if (iX60gensym13_ < 0 || iX60gensym13_ >= (resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)){ raiseIndexError2(iX60gensym13_,(resultX60gensym13_ ? resultX60gensym13_->Sup.len : 0)-1); }
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_19;
       if (!(i_4 < ((NI) 10000))) goto LA20;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= (resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)){ raiseIndexError2(iX60gensym16_,(resultX60gensym16_ ? resultX60gensym16_->Sup.len : 0)-1); }
       resultX60gensym16_->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_19)) { raiseOverflow(); };
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_19);
      } LA20: ;
     }
    }
    asgnRef((void**) (&resultX60gensym13_->data[iX60gensym13_]), resultX60gensym16_);
    resultX60gensym16_ = NIM_NIL;
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); };
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
   } LA17: ;
  }
 }
 T21_ = NIM_NIL;
 T21_ = resultX60gensym13_;
 resultX60gensym13_ = NIM_NIL;
 (void)(T21_);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__2 = someTask838860903__temp_u356;
 task.callback = colontmpD__2;
 task.args = ((void*) (scratch838860896));
 colontmpD__3 = destroyScratch838860904__temp_u369;
 task.destroy = colontmpD__3;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_12, 1);
 someTask__temp_u11(input);
 popSafePoint();
 }
 else {
  popSafePoint();
  setFrame(_nimCurFrame);
 }
 {
  eqdestroy___stdZtasks_u16((&task));
  eqdestroy___temp_u157((&isoTemp838860900));
  if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) nimLeaveFinally();
 }
 if (TM__SRd76hP9cMfCzdUO857UhQQ_16.status != 0) reraiseException();
 popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
 nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 void (*volatile inner)(void);
 inner = PreMainInner;
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 initStackBottomWith((void *)&inner);
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 atmtempdotnim_DatInit000();
 (*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 void (*volatile inner)(void);
 PreMain();
 inner = NimMainInner;
 initStackBottomWith((void *)&inner);
 (*inner)();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
 main__temp_u32();
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_14, 1);
 expandedMain__temp_u228();
 popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, atmtempdotnim_DatInit000)(void) {
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.size = sizeof(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.align = NIM_ALIGNOF(tySequence__qwqHTkRvwhrRyENtudHQ7g*);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.kind = 24;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.base = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.flags = 2;
NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_.marker = Marker_tySequence__qwqHTkRvwhrRyENtudHQ7g;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.size = sizeof(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.align = NIM_ALIGNOF(tySequence__PSP8snSsRoFs9cDiya9bd7UQ*);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.kind = 24;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.base = (&NTIseqLintT__qwqHTkRvwhrRyENtudHQ7g_);
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.flags = 2;
NTIseqLseqLintTT__PSP8snSsRoFs9cDiya9bd7UQ_.marker = Marker_tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
}

Stats

  • Started 2024-07-24T12:47:56
  • Finished 2024-07-24T12:47:56
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
Stats
  • GCC 11.4.0
  • Clang 14.0.0
  • NodeJS 20.4
  • Created 2024-07-24T12:47:03Z
  • Comments 1
  • Commands nim c --opt:speed --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim

🤖 Bug found in 26 minutes bisecting 8 commits at 0 commits per second

from nim.

ringabout avatar ringabout commented on July 30, 2024

It works with orc in 1.6.x and 2.x.x

from nim.

github-actions avatar github-actions commented on July 30, 2024
🐧 Linux bisect by @juancarlospaco (collaborator)
devel 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-26T13:11:46
  • Finished 2024-07-26T13:11:46
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
stable 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim(16, 20) template/generic instantiation of `toTask` from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/tasks.nim(133, 20) template/generic instantiation of `isolate` from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/isolation.nim(37, 14) template/generic instantiation of `=destroy` from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/isolation.nim(27, 6) template/generic instantiation from here
/home/runner/.choosenim/toolchains/nim-2.0.8/lib/std/isolation.nim(29, 13) Warning: `=destroy`(dest.value) can raise an unlisted exception: Exception [Effect]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: options.nim(682, 5) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-26T13:11:50
  • Finished 2024-07-26T13:11:51
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
2.0.4 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim(16, 20) template/generic instantiation of `toTask` from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/tasks.nim(132, 20) template/generic instantiation of `isolate` from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/isolation.nim(37, 14) template/generic instantiation of `=destroy` from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/isolation.nim(27, 6) template/generic instantiation from here
/home/runner/.choosenim/toolchains/nim-2.0.4/lib/std/isolation.nim(29, 13) Warning: `=destroy`(dest.value) can raise an unlisted exception: Exception [Effect]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-26T13:11:53
  • Finished 2024-07-26T13:11:54
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
2.0.0 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Warning: `gc:option` is deprecated; use `mm:option` instead [Deprecated]
/home/runner/work/Nim/Nim/temp.nim(16, 20) template/generic instantiation of `toTask` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/tasks.nim(132, 20) template/generic instantiation of `isolate` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/isolation.nim(37, 14) template/generic instantiation of `=destroy` from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/isolation.nim(27, 6) template/generic instantiation from here
/home/runner/.choosenim/toolchains/nim-2.0.0/lib/std/isolation.nim(29, 13) Warning: `=destroy`(dest.value) can raise an unlisted exception: Exception [Effect]
/home/runner/work/Nim/Nim/temp.nim(44, 27) Error: type mismatch: got 'proc (argsgensym8: pointer){.nimcall, gcsafe.}' for 'someTask_838860903' but expected 'proc (args: pointer, res: pointer){.nimcall, gcsafe.}'
assertions.nim(34)       raiseAssert
Error: unhandled exception: options.nim(664, 5) `false` errGenerated [AssertionDefect]

IR

Compiled filesize 0 (0 bytes)

Stats

  • Started 2024-07-26T13:11:57
  • Finished 2024-07-26T13:11:57
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.6.20 👍 OK

Output

sum is:
100000000
sum should be:
100000000
---
sum is:
100000000
sum should be:
100000000

IR

Compiled filesize 146.50 Kb (150,016 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
NI len; tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI align;
NCSTRING name;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
NI len; tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg trace;
Exception* up;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ value;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
#ifndef tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
#define tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content { NI cap; tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, newSeq__temp_u175)(NI len);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u130)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u124)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg, isolate__temp_u357)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ value);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___temp_u282)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u285)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, extract__temp_u385)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u279)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4838)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u3679)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u66)(NimStringV2 msg);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, GC_getStatistics__system_u6987)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u3569)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_;
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 25 | NIM_STRLIT_FLAG, "Could not allocate memory" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_10 = { 7 | NIM_STRLIT_FLAG, "sum is:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {{7, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_10}}
;
static const struct {
NI cap; NIM_CHAR data[95+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_11 = { 95 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_12 = {95, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_11};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_14 = { 14 | NIM_STRLIT_FLAG, "sum should be:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_13 = {{14, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_14}}
;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_16 = { 3 | NIM_STRLIT_FLAG, "---" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_15 = {{3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_16}}
;
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_19 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
extern NIM_BOOL nimInErrorMode__system_u4667;
extern TFrame* framePtr__system_u4316;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (NIM_BOOL*)0;
 result = (&nimInErrorMode__system_u4667);
 return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u4316 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u4316).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u4316;
 framePtr__system_u4316 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u4838();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u4316 = (*framePtr__system_u4316).prev;
}
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u279((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input) {
 NimStringV2 colontmpD_;
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T3_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T3_ = input.len;
  colontmp_ = T3_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA5;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T7_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
     T7_ = input.p->data[i].len;
     colontmp__2 = T7_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA9;
       j = i_3;
       if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
       if (j < 0 || j >= input.p->data[i].len){ raiseIndexError2(j,input.p->data[i].len-1); goto LA1_;
}
       if (nimAddInt(sum, input.p->data[i].p->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); goto LA1_;
};
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); goto LA1_;
};
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA9: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); goto LA1_;
};
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA5: ;
  }
 }
 colontmpD_ = dollar___systemZdollars_u3(sum);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  eqdestroy___system_u3679((&colontmpD_));
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqcopy___temp_u282((&input), (*objTemp).input);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u409(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
NIM_BOOL* nimErr_;
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u66(TM__SRd76hP9cMfCzdUO857UhQQ_12);
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }
 LA3_: ;
 task.callback(task.args);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
NIM_BOOL* nimErr_;
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
   if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym0_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym0_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym3_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    iX60gensym0_ = i;
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= resultX60gensym3_.len){ raiseIndexError2(iX60gensym3_,resultX60gensym3_.len-1); goto LA1_;
}
       resultX60gensym3_.p->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2);
      } LA7: ;
     }
    }
    if (iX60gensym0_ < 0 || iX60gensym0_ >= resultX60gensym0_.len){ raiseIndexError2(iX60gensym0_,resultX60gensym0_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym3_;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym0_.p->data[iX60gensym0_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    eqdestroy___temp_u124((&resultX60gensym3_));
   } LA4: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 16));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_5;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
  goto LA1_;
 }
 LA12_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ T16_;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  eqcopy___temp_u282((&colontmpD__3), input);
  isoTemp = isolate__temp_u357(colontmpD__3);
  T16_.len = 0; T16_.p = NIM_NIL;
  T16_ = extract__temp_u385((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
  eqsink___temp_u285((&(*scratch).input), T16_);
  eqdestroy___temp_u366((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u344;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u345;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym0_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input838860901;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
NIM_BOOL* nimErr_;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input838860901.len = 0; input838860901.p = NIM_NIL;
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqcopy___temp_u282((&input838860901), (*objTemp838860899).input);
 someTask__temp_u11(input838860901);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input838860901));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u616(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym9_;
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD_;
 NimStringV2 colontmpD__2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__4;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__5;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T9_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__5 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym9_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym12_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    iX60gensym9_ = i;
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= resultX60gensym12_.len){ raiseIndexError2(iX60gensym12_,resultX60gensym12_.len-1); goto LA1_;
}
       resultX60gensym12_.p->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA7: ;
     }
    }
    if (iX60gensym9_ < 0 || iX60gensym9_ >= resultX60gensym9_.len){ raiseIndexError2(iX60gensym9_,resultX60gensym9_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym12_;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym9_.p->data[iX60gensym9_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
    eqdestroy___temp_u124((&resultX60gensym12_));
   } LA4: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch838860896 == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_19;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
  goto LA1_;
 }
 LA12_: ;
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 eqcopy___temp_u282((&colontmpD_), input);
 isoTemp838860900 = isolate__temp_u357(colontmpD_);
 T15_.len = 0; T15_.p = NIM_NIL;
 T15_ = extract__temp_u385((&isoTemp838860900));
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 eqsink___temp_u285((&(*scratch838860896).input), T15_);
 colontmpD__2 = GC_getStatistics__system_u6987();
 (void)(colontmpD__2);
 GC_fullCollect__system_u3569();
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 resultX60gensym13_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym16_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T22_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_21;
    if (!(i_3 < ((NI) 10000))) goto LA18;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    iX60gensym13_ = i_3;
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
       if (!(i_4 < ((NI) 10000))) goto LA21;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= resultX60gensym16_.len){ raiseIndexError2(iX60gensym16_,resultX60gensym16_.len-1); goto LA1_;
}
       resultX60gensym16_.p->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); goto LA1_;
};
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
      } LA21: ;
     }
    }
    if (iX60gensym13_ < 0 || iX60gensym13_ >= resultX60gensym13_.len){ raiseIndexError2(iX60gensym13_,resultX60gensym13_.len-1); goto LA1_;
}
    T22_.len = 0; T22_.p = NIM_NIL;
    T22_ = resultX60gensym16_;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym13_.p->data[iX60gensym13_]), T22_);
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_21)) { raiseOverflow(); goto LA1_;
};
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_21);
    eqdestroy___temp_u124((&resultX60gensym16_));
   } LA18: ;
  }
 }
 colontmpD__3 = resultX60gensym13_;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 (void)(colontmpD__3);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = someTask838860903__temp_u594;
 task.callback = colontmpD__4;
 task.args = ((void*) (scratch838860896));
 colontmpD__5 = destroyScratch838860904__temp_u610;
 task.destroy = colontmpD__5;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&colontmpD__3));
  eqdestroy___temp_u279((&resultX60gensym13_));
  eqdestroy___system_u3679((&colontmpD__2));
  eqdestroy___temp_u366((&isoTemp838860900));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym9_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 PreMainInner();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 PreMain();
 NimMainInner();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 main__temp_u32();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_15, 1);
 expandedMain__temp_u466();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-07-26T13:12:00
  • Finished 2024-07-26T13:12:03
  • Duration 3 minutes
1.4.8 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/bitmasks.nim(13, 3) Error: redefinition of 'PageShift'; previous declaration here: /home/runner/.choosenim/toolchains/nim-1.4.8/lib/system/bitmasks.nim(13, 3)

IR

Compiled filesize 146.50 Kb (150,016 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
NI len; tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI align;
NCSTRING name;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
NI len; tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg trace;
Exception* up;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ value;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
#ifndef tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
#define tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content { NI cap; tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, newSeq__temp_u175)(NI len);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u130)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u124)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg, isolate__temp_u357)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ value);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___temp_u282)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u285)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, extract__temp_u385)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u279)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4838)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u3679)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u66)(NimStringV2 msg);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, GC_getStatistics__system_u6987)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u3569)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_;
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 25 | NIM_STRLIT_FLAG, "Could not allocate memory" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_10 = { 7 | NIM_STRLIT_FLAG, "sum is:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {{7, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_10}}
;
static const struct {
NI cap; NIM_CHAR data[95+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_11 = { 95 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_12 = {95, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_11};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_14 = { 14 | NIM_STRLIT_FLAG, "sum should be:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_13 = {{14, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_14}}
;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_16 = { 3 | NIM_STRLIT_FLAG, "---" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_15 = {{3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_16}}
;
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_19 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
extern NIM_BOOL nimInErrorMode__system_u4667;
extern TFrame* framePtr__system_u4316;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (NIM_BOOL*)0;
 result = (&nimInErrorMode__system_u4667);
 return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u4316 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u4316).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u4316;
 framePtr__system_u4316 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u4838();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u4316 = (*framePtr__system_u4316).prev;
}
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u279((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input) {
 NimStringV2 colontmpD_;
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T3_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T3_ = input.len;
  colontmp_ = T3_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA5;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T7_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
     T7_ = input.p->data[i].len;
     colontmp__2 = T7_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA9;
       j = i_3;
       if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
       if (j < 0 || j >= input.p->data[i].len){ raiseIndexError2(j,input.p->data[i].len-1); goto LA1_;
}
       if (nimAddInt(sum, input.p->data[i].p->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); goto LA1_;
};
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); goto LA1_;
};
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA9: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); goto LA1_;
};
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA5: ;
  }
 }
 colontmpD_ = dollar___systemZdollars_u3(sum);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  eqdestroy___system_u3679((&colontmpD_));
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqcopy___temp_u282((&input), (*objTemp).input);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u409(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
NIM_BOOL* nimErr_;
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u66(TM__SRd76hP9cMfCzdUO857UhQQ_12);
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }
 LA3_: ;
 task.callback(task.args);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
NIM_BOOL* nimErr_;
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
   if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym0_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym0_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym3_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    iX60gensym0_ = i;
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= resultX60gensym3_.len){ raiseIndexError2(iX60gensym3_,resultX60gensym3_.len-1); goto LA1_;
}
       resultX60gensym3_.p->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2);
      } LA7: ;
     }
    }
    if (iX60gensym0_ < 0 || iX60gensym0_ >= resultX60gensym0_.len){ raiseIndexError2(iX60gensym0_,resultX60gensym0_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym3_;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym0_.p->data[iX60gensym0_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    eqdestroy___temp_u124((&resultX60gensym3_));
   } LA4: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 16));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_5;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
  goto LA1_;
 }
 LA12_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ T16_;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  eqcopy___temp_u282((&colontmpD__3), input);
  isoTemp = isolate__temp_u357(colontmpD__3);
  T16_.len = 0; T16_.p = NIM_NIL;
  T16_ = extract__temp_u385((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
  eqsink___temp_u285((&(*scratch).input), T16_);
  eqdestroy___temp_u366((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u344;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u345;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym0_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input838860901;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
NIM_BOOL* nimErr_;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input838860901.len = 0; input838860901.p = NIM_NIL;
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqcopy___temp_u282((&input838860901), (*objTemp838860899).input);
 someTask__temp_u11(input838860901);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input838860901));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u616(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym9_;
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD_;
 NimStringV2 colontmpD__2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__4;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__5;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T9_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__5 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym9_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym12_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    iX60gensym9_ = i;
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= resultX60gensym12_.len){ raiseIndexError2(iX60gensym12_,resultX60gensym12_.len-1); goto LA1_;
}
       resultX60gensym12_.p->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA7: ;
     }
    }
    if (iX60gensym9_ < 0 || iX60gensym9_ >= resultX60gensym9_.len){ raiseIndexError2(iX60gensym9_,resultX60gensym9_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym12_;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym9_.p->data[iX60gensym9_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
    eqdestroy___temp_u124((&resultX60gensym12_));
   } LA4: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch838860896 == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_19;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
  goto LA1_;
 }
 LA12_: ;
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 eqcopy___temp_u282((&colontmpD_), input);
 isoTemp838860900 = isolate__temp_u357(colontmpD_);
 T15_.len = 0; T15_.p = NIM_NIL;
 T15_ = extract__temp_u385((&isoTemp838860900));
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 eqsink___temp_u285((&(*scratch838860896).input), T15_);
 colontmpD__2 = GC_getStatistics__system_u6987();
 (void)(colontmpD__2);
 GC_fullCollect__system_u3569();
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 resultX60gensym13_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym16_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T22_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_21;
    if (!(i_3 < ((NI) 10000))) goto LA18;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    iX60gensym13_ = i_3;
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
       if (!(i_4 < ((NI) 10000))) goto LA21;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= resultX60gensym16_.len){ raiseIndexError2(iX60gensym16_,resultX60gensym16_.len-1); goto LA1_;
}
       resultX60gensym16_.p->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); goto LA1_;
};
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
      } LA21: ;
     }
    }
    if (iX60gensym13_ < 0 || iX60gensym13_ >= resultX60gensym13_.len){ raiseIndexError2(iX60gensym13_,resultX60gensym13_.len-1); goto LA1_;
}
    T22_.len = 0; T22_.p = NIM_NIL;
    T22_ = resultX60gensym16_;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym13_.p->data[iX60gensym13_]), T22_);
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_21)) { raiseOverflow(); goto LA1_;
};
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_21);
    eqdestroy___temp_u124((&resultX60gensym16_));
   } LA18: ;
  }
 }
 colontmpD__3 = resultX60gensym13_;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 (void)(colontmpD__3);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = someTask838860903__temp_u594;
 task.callback = colontmpD__4;
 task.args = ((void*) (scratch838860896));
 colontmpD__5 = destroyScratch838860904__temp_u610;
 task.destroy = colontmpD__5;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&colontmpD__3));
  eqdestroy___temp_u279((&resultX60gensym13_));
  eqdestroy___system_u3679((&colontmpD__2));
  eqdestroy___temp_u366((&isoTemp838860900));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym9_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 PreMainInner();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 PreMain();
 NimMainInner();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 main__temp_u32();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_15, 1);
 expandedMain__temp_u466();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-07-26T13:12:05
  • Finished 2024-07-26T13:12:05
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.2.18 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(1, 11) Error: cannot open file: std/isolation

IR

Compiled filesize 146.50 Kb (150,016 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
NI len; tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI align;
NCSTRING name;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
NI len; tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg trace;
Exception* up;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ value;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
#ifndef tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
#define tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content { NI cap; tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, newSeq__temp_u175)(NI len);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u130)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u124)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg, isolate__temp_u357)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ value);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___temp_u282)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u285)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, extract__temp_u385)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u279)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4838)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u3679)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u66)(NimStringV2 msg);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, GC_getStatistics__system_u6987)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u3569)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_;
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 25 | NIM_STRLIT_FLAG, "Could not allocate memory" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_10 = { 7 | NIM_STRLIT_FLAG, "sum is:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {{7, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_10}}
;
static const struct {
NI cap; NIM_CHAR data[95+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_11 = { 95 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_12 = {95, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_11};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_14 = { 14 | NIM_STRLIT_FLAG, "sum should be:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_13 = {{14, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_14}}
;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_16 = { 3 | NIM_STRLIT_FLAG, "---" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_15 = {{3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_16}}
;
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_19 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
extern NIM_BOOL nimInErrorMode__system_u4667;
extern TFrame* framePtr__system_u4316;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (NIM_BOOL*)0;
 result = (&nimInErrorMode__system_u4667);
 return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u4316 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u4316).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u4316;
 framePtr__system_u4316 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u4838();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u4316 = (*framePtr__system_u4316).prev;
}
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u279((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input) {
 NimStringV2 colontmpD_;
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T3_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T3_ = input.len;
  colontmp_ = T3_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA5;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T7_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
     T7_ = input.p->data[i].len;
     colontmp__2 = T7_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA9;
       j = i_3;
       if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
       if (j < 0 || j >= input.p->data[i].len){ raiseIndexError2(j,input.p->data[i].len-1); goto LA1_;
}
       if (nimAddInt(sum, input.p->data[i].p->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); goto LA1_;
};
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); goto LA1_;
};
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA9: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); goto LA1_;
};
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA5: ;
  }
 }
 colontmpD_ = dollar___systemZdollars_u3(sum);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  eqdestroy___system_u3679((&colontmpD_));
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqcopy___temp_u282((&input), (*objTemp).input);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u409(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
NIM_BOOL* nimErr_;
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u66(TM__SRd76hP9cMfCzdUO857UhQQ_12);
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }
 LA3_: ;
 task.callback(task.args);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
NIM_BOOL* nimErr_;
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
   if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym0_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym0_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym3_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    iX60gensym0_ = i;
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= resultX60gensym3_.len){ raiseIndexError2(iX60gensym3_,resultX60gensym3_.len-1); goto LA1_;
}
       resultX60gensym3_.p->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2);
      } LA7: ;
     }
    }
    if (iX60gensym0_ < 0 || iX60gensym0_ >= resultX60gensym0_.len){ raiseIndexError2(iX60gensym0_,resultX60gensym0_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym3_;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym0_.p->data[iX60gensym0_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    eqdestroy___temp_u124((&resultX60gensym3_));
   } LA4: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 16));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_5;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
  goto LA1_;
 }
 LA12_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ T16_;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  eqcopy___temp_u282((&colontmpD__3), input);
  isoTemp = isolate__temp_u357(colontmpD__3);
  T16_.len = 0; T16_.p = NIM_NIL;
  T16_ = extract__temp_u385((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
  eqsink___temp_u285((&(*scratch).input), T16_);
  eqdestroy___temp_u366((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u344;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u345;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym0_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input838860901;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
NIM_BOOL* nimErr_;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input838860901.len = 0; input838860901.p = NIM_NIL;
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqcopy___temp_u282((&input838860901), (*objTemp838860899).input);
 someTask__temp_u11(input838860901);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input838860901));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u616(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym9_;
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD_;
 NimStringV2 colontmpD__2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__4;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__5;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T9_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__5 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym9_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym12_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    iX60gensym9_ = i;
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= resultX60gensym12_.len){ raiseIndexError2(iX60gensym12_,resultX60gensym12_.len-1); goto LA1_;
}
       resultX60gensym12_.p->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA7: ;
     }
    }
    if (iX60gensym9_ < 0 || iX60gensym9_ >= resultX60gensym9_.len){ raiseIndexError2(iX60gensym9_,resultX60gensym9_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym12_;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym9_.p->data[iX60gensym9_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
    eqdestroy___temp_u124((&resultX60gensym12_));
   } LA4: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch838860896 == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_19;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
  goto LA1_;
 }
 LA12_: ;
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 eqcopy___temp_u282((&colontmpD_), input);
 isoTemp838860900 = isolate__temp_u357(colontmpD_);
 T15_.len = 0; T15_.p = NIM_NIL;
 T15_ = extract__temp_u385((&isoTemp838860900));
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 eqsink___temp_u285((&(*scratch838860896).input), T15_);
 colontmpD__2 = GC_getStatistics__system_u6987();
 (void)(colontmpD__2);
 GC_fullCollect__system_u3569();
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 resultX60gensym13_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym16_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T22_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_21;
    if (!(i_3 < ((NI) 10000))) goto LA18;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    iX60gensym13_ = i_3;
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
       if (!(i_4 < ((NI) 10000))) goto LA21;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= resultX60gensym16_.len){ raiseIndexError2(iX60gensym16_,resultX60gensym16_.len-1); goto LA1_;
}
       resultX60gensym16_.p->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); goto LA1_;
};
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
      } LA21: ;
     }
    }
    if (iX60gensym13_ < 0 || iX60gensym13_ >= resultX60gensym13_.len){ raiseIndexError2(iX60gensym13_,resultX60gensym13_.len-1); goto LA1_;
}
    T22_.len = 0; T22_.p = NIM_NIL;
    T22_ = resultX60gensym16_;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym13_.p->data[iX60gensym13_]), T22_);
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_21)) { raiseOverflow(); goto LA1_;
};
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_21);
    eqdestroy___temp_u124((&resultX60gensym16_));
   } LA18: ;
  }
 }
 colontmpD__3 = resultX60gensym13_;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 (void)(colontmpD__3);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = someTask838860903__temp_u594;
 task.callback = colontmpD__4;
 task.args = ((void*) (scratch838860896));
 colontmpD__5 = destroyScratch838860904__temp_u610;
 task.destroy = colontmpD__5;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&colontmpD__3));
  eqdestroy___temp_u279((&resultX60gensym13_));
  eqdestroy___system_u3679((&colontmpD__2));
  eqdestroy___temp_u366((&isoTemp838860900));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym9_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 PreMainInner();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 PreMain();
 NimMainInner();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 main__temp_u32();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_15, 1);
 expandedMain__temp_u466();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-07-26T13:12:08
  • Finished 2024-07-26T13:12:08
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
1.0.10 👎 FAIL

Output

Error: Command failed: nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds  --run  -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
command line(1, 2) Error: 'none', 'boehm' or 'refc' expected, but 'orc' found

IR

Compiled filesize 146.50 Kb (150,016 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <stdlib.h>
#  define nimfr_(proc, file) \
 TFrame FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
#  define nimfrs_(proc, file, slots, length) \
 struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
 FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
#  define nimln_(n, file) \
 FR_.line = n; FR_.filename = file;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ tySequence__PSP8snSsRoFs9cDiya9bd7UQ;
typedef struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content;
typedef struct tyObject_Task__gCL6JsyiG64udBirt85wbA tyObject_Task__gCL6JsyiG64udBirt85wbA;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
typedef struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA;
typedef struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ;
typedef struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg tySequence__5ppf27xNiC9aiXSPX0PMgHg;
typedef struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content;
typedef struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg;
typedef struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA;
typedef struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ;
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ {
NI len; tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content* p;
};
typedef N_NIMCALL_PTR(void, tyProc__4SVlZZPmetqBimNsH9cHcOA) (void* args);
struct tyObject_Task__gCL6JsyiG64udBirt85wbA {
tyProc__4SVlZZPmetqBimNsH9cHcOA callback;
void* args;
tyProc__4SVlZZPmetqBimNsH9cHcOA destroy;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
struct tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
struct TNimTypeV2 {
void* destructor;
NI size;
NI align;
NCSTRING name;
void* traceImpl;
void* typeInfoV1;
NI flags;
};
struct RootObj {
TNimTypeV2* m_type;
};
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg {
NI len; tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content* p;
};
struct Exception {
RootObj Sup;
Exception* parent;
NCSTRING name;
NimStringV2 message;
tySequence__5ppf27xNiC9aiXSPX0PMgHg trace;
Exception* up;
};
struct tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw {
Exception Sup;
};
struct tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ {
tyObject_Defect__3KdVAGFIYlSrkdFO3qG1gw Sup;
};
struct tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ value;
};
typedef NimStringV2 tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA {
tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
};
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 struct tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ {
NCSTRING procname;
NI line;
NCSTRING filename;
};
#ifndef tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
#define tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content_PP
struct tySequence__5ppf27xNiC9aiXSPX0PMgHg_Content { NI cap; tyObject_StackTraceEntry__bbVZPBZtf49abwlWtZZfyvQ data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
#define tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content_PP
struct tySequence__PSP8snSsRoFs9cDiya9bd7UQ_Content { NI cap; tySequence__qwqHTkRvwhrRyENtudHQ7g data[SEQ_DECL_SIZE];};
#endif
 N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, newSeq__temp_u175)(NI len);
N_LIB_PRIVATE N_NIMCALL(tySequence__qwqHTkRvwhrRyENtudHQ7g, newSeq__temp_u37)(NI len);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u130)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest, tySequence__qwqHTkRvwhrRyENtudHQ7g src);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u124)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size, NI alignment);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
N_LIB_PRIVATE N_NIMCALL(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg, isolate__temp_u357)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ value);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___temp_u282)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___temp_u285)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest, tySequence__PSP8snSsRoFs9cDiya9bd7UQ src);
N_LIB_PRIVATE N_NIMCALL(tySequence__PSP8snSsRoFs9cDiya9bd7UQ, extract__temp_u385)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* src);
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u279)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ* dest);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_u4838)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u3)(NI x);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringV2* args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u3679)(NimStringV2* dest);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest);
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_u66)(NimStringV2 msg);
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t);
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, GC_getStatistics__system_u6987)(void);
N_LIB_PRIVATE N_NIMCALL(void, GC_fullCollect__system_u3569)(void);
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest);
N_LIB_PRIVATE N_NIMCALL(void, nimTestErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimTypeV2 NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_;
static const struct {
NI cap; NIM_CHAR data[25+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_4 = { 25 | NIM_STRLIT_FLAG, "Could not allocate memory" };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_5 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
static const struct {
NI cap; NIM_CHAR data[7+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_10 = { 7 | NIM_STRLIT_FLAG, "sum is:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_9 = {{7, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_10}}
;
static const struct {
NI cap; NIM_CHAR data[95+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_11 = { 95 | NIM_STRLIT_FLAG, "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim(78, 10) `task.callback != nil` " };
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_12 = {95, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_11};
static const struct {
NI cap; NIM_CHAR data[14+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_14 = { 14 | NIM_STRLIT_FLAG, "sum should be:" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_13 = {{14, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_14}}
;
static const struct {
NI cap; NIM_CHAR data[3+1];
} TM__SRd76hP9cMfCzdUO857UhQQ_16 = { 3 | NIM_STRLIT_FLAG, "---" };
static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__SRd76hP9cMfCzdUO857UhQQ_15 = {{3, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_16}}
;
static const NimStringV2 TM__SRd76hP9cMfCzdUO857UhQQ_19 = {25, (NimStrPayload*)&TM__SRd76hP9cMfCzdUO857UhQQ_4};
extern NIM_BOOL nimInErrorMode__system_u4667;
extern TFrame* framePtr__system_u4316;
static N_INLINE(void, nimSetMem__systemZmemory_u7)(void* a, int v, NI size) {
 void* T1_;
 T1_ = (void*)0;
 T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
 NIM_BOOL* result;
 result = (NIM_BOOL*)0;
 result = (&nimInErrorMode__system_u4667);
 return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
 nimSetMem__systemZmemory_u7(p, ((int) 0), size);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
}
static N_INLINE(void, nimFrame)(TFrame* s) {
 {
  if (!(framePtr__system_u4316 == ((TFrame*) NIM_NIL))) goto LA3_;
  (*s).calldepth = ((NI16) 0);
 }
 goto LA1_;
 LA3_: ;
 {
  (*s).calldepth = (NI16)((*framePtr__system_u4316).calldepth + ((NI16) 1));
 }
 LA1_: ;
 (*s).prev = framePtr__system_u4316;
 framePtr__system_u4316 = s;
 {
  if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
  callDepthLimitReached__system_u4838();
 }
 LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
 framePtr__system_u4316 = (*framePtr__system_u4316).prev;
}
static N_INLINE(void, eqdestroy___temp_u366)(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg* dest) {
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/isolation.nim");
 eqdestroy___temp_u279((&(*dest).value));
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u11)(tySequence__PSP8snSsRoFs9cDiya9bd7UQ input) {
 NimStringV2 colontmpD_;
 NI sum;
 tyArray__nHXaesL0DJZHyVS07ARPRA T10_;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 sum = ((NI) 0);
 {
  NI i;
  NI colontmp_;
  NI T3_;
  NI i_2;
  i = (NI)0;
  colontmp_ = (NI)0;
  T3_ = input.len;
  colontmp_ = T3_;
  i_2 = ((NI) 0);
  {
   while (1) {
    NI TM__SRd76hP9cMfCzdUO857UhQQ_8;
    if (!(i_2 < colontmp_)) goto LA5;
    i = i_2;
    {
     NI j;
     NI colontmp__2;
     NI T7_;
     NI i_3;
     j = (NI)0;
     colontmp__2 = (NI)0;
     if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
     T7_ = input.p->data[i].len;
     colontmp__2 = T7_;
     i_3 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_6;
       NI TM__SRd76hP9cMfCzdUO857UhQQ_7;
       if (!(i_3 < colontmp__2)) goto LA9;
       j = i_3;
       if (i < 0 || i >= input.len){ raiseIndexError2(i,input.len-1); goto LA1_;
}
       if (j < 0 || j >= input.p->data[i].len){ raiseIndexError2(j,input.p->data[i].len-1); goto LA1_;
}
       if (nimAddInt(sum, input.p->data[i].p->data[j], &TM__SRd76hP9cMfCzdUO857UhQQ_6)) { raiseOverflow(); goto LA1_;
};
       sum = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_6);
       if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_7)) { raiseOverflow(); goto LA1_;
};
       i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_7);
      } LA9: ;
     }
    }
    if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_8)) { raiseOverflow(); goto LA1_;
};
    i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_8);
   } LA5: ;
  }
 }
 colontmpD_ = dollar___systemZdollars_u3(sum);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 T10_[0] = colontmpD_;
 echoBinSafe(T10_, 1);
 {
  LA1_:;
 }
 {
  eqdestroy___system_u3679((&colontmpD_));
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask__temp_u344)(void* argsX60gensym7_) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* objTemp;
NIM_BOOL* nimErr_;
 nimfr_("someTask", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 objTemp = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqcopy___temp_u282((&input), (*objTemp).input);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u409)(tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch__temp_u345)(void* argsX60gensym7_) {
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* obj;
 nimfr_("destroyScratch", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
 obj = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (argsX60gensym7_));
 eqdestroy___temp_u409(obj);
 popFrame();
}
static N_INLINE(void, invoke__stdZtasks_u23)(tyObject_Task__gCL6JsyiG64udBirt85wbA task) {
NIM_BOOL* nimErr_;
 nimfr_("invoke", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(!((task.callback == NIM_NIL)))) goto LA3_;
  failedAssertImpl__systemZassertions_u66(TM__SRd76hP9cMfCzdUO857UhQQ_12);
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }
 LA3_: ;
 task.callback(task.args);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
static N_INLINE(void, eqdestroy___stdZtasks_u16)(tyObject_Task__gCL6JsyiG64udBirt85wbA* t) {
NIM_BOOL* nimErr_;
 nimfr_("=destroy", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim");
{nimErr_ = nimErrorFlag();
 {
  if (!!(((*t).args == NIM_NIL))) goto LA3_;
  {
   if (!!(((*t).destroy == NIM_NIL))) goto LA7_;
   (*t).destroy((*t).args);
   if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  }
  LA7_: ;
  free((*t).args);
 }
 LA3_: ;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, main__temp_u32)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym0_;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD_;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__2;
 tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA* scratch;
 void* T9_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("main", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__2 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym0_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym0_;
  NI i;
  iX60gensym0_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym3_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_3;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    iX60gensym0_ = i;
    resultX60gensym3_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym3_;
     NI i_2;
     iX60gensym3_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_2;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym3_ = i_2;
       if (iX60gensym3_ < 0 || iX60gensym3_ >= resultX60gensym3_.len){ raiseIndexError2(iX60gensym3_,resultX60gensym3_.len-1); goto LA1_;
}
       resultX60gensym3_.p->data[iX60gensym3_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_2)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_2);
      } LA7: ;
     }
    }
    if (iX60gensym0_ < 0 || iX60gensym0_ >= resultX60gensym0_.len){ raiseIndexError2(iX60gensym0_,resultX60gensym0_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym3_;
    resultX60gensym3_.len = 0; resultX60gensym3_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym0_.p->data[iX60gensym0_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_3)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_3);
    eqdestroy___temp_u124((&resultX60gensym3_));
   } LA4: ;
  }
 }
 input = resultX60gensym0_;
 resultX60gensym0_.len = 0; resultX60gensym0_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 16));
 scratch = ((tyObject_ScratchObj__sBMMlK9bJe7yZ1WSpdGphxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_5;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "main", "/home/runner/.choosenim/toolchains/nim-1.6.20/lib/std/tasks.nim", 196);
  goto LA1_;
 }
 LA12_: ;
 {
  tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
  tySequence__PSP8snSsRoFs9cDiya9bd7UQ T16_;
  nimZeroMem((void*)(&isoTemp), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
  eqcopy___temp_u282((&colontmpD__3), input);
  isoTemp = isolate__temp_u357(colontmpD__3);
  T16_.len = 0; T16_.p = NIM_NIL;
  T16_ = extract__temp_u385((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
  eqsink___temp_u285((&(*scratch).input), T16_);
  eqdestroy___temp_u366((&isoTemp));
  if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 }
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD_ = someTask__temp_u344;
 task.callback = colontmpD_;
 task.args = ((void*) (scratch));
 colontmpD__2 = destroyScratch__temp_u345;
 task.destroy = colontmpD__2;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym0_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, someTask838860903__temp_u594)(void* argsgensym8) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input838860901;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* objTemp838860899;
NIM_BOOL* nimErr_;
 nimfr_("someTask_838860903", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input838860901.len = 0; input838860901.p = NIM_NIL;
 objTemp838860899 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqcopy___temp_u282((&input838860901), (*objTemp838860899).input);
 someTask__temp_u11(input838860901);
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 eqdestroy___temp_u279((&input838860901));
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___temp_u616)(tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* dest) {
 eqdestroy___temp_u279((&(*dest).input));
}
N_LIB_PRIVATE N_NIMCALL(void, destroyScratch838860904__temp_u610)(void* argsgensym8) {
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* obj838860905;
 nimfr_("destroyScratch_838860904", "/home/runner/work/Nim/Nim/temp.nim");
 obj838860905 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (argsgensym8));
 eqdestroy___temp_u616(obj838860905);
 popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, expandedMain__temp_u466)(void) {
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ input;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym9_;
 tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg isoTemp838860900;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD_;
 NimStringV2 colontmpD__2;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ resultX60gensym13_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ colontmpD__3;
 tyObject_Task__gCL6JsyiG64udBirt85wbA task;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__4;
 tyProc__4SVlZZPmetqBimNsH9cHcOA colontmpD__5;
 tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA* scratch838860896;
 void* T9_;
 tySequence__PSP8snSsRoFs9cDiya9bd7UQ T15_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
 nimfr_("expandedMain", "/home/runner/work/Nim/Nim/temp.nim");
{nimErr_ = nimErrorFlag();
 input.len = 0; input.p = NIM_NIL;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 nimZeroMem((void*)(&isoTemp838860900), sizeof(tyObject_Isolated__UFxiKr9bL4IImmtfbtpCLNg));
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 colontmpD__5 = (tyProc__4SVlZZPmetqBimNsH9cHcOA)0;
 resultX60gensym9_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym9_;
  NI i;
  iX60gensym9_ = (NI)0;
  i = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym12_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T8_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_18;
    if (!(i < ((NI) 10000))) goto LA4;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    iX60gensym9_ = i;
    resultX60gensym12_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym12_;
     NI i_2;
     iX60gensym12_ = (NI)0;
     i_2 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_17;
       if (!(i_2 < ((NI) 10000))) goto LA7;
       iX60gensym12_ = i_2;
       if (iX60gensym12_ < 0 || iX60gensym12_ >= resultX60gensym12_.len){ raiseIndexError2(iX60gensym12_,resultX60gensym12_.len-1); goto LA1_;
}
       resultX60gensym12_.p->data[iX60gensym12_] = ((NI) 1);
       if (nimAddInt(i_2, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_17)) { raiseOverflow(); goto LA1_;
};
       i_2 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_17);
      } LA7: ;
     }
    }
    if (iX60gensym9_ < 0 || iX60gensym9_ >= resultX60gensym9_.len){ raiseIndexError2(iX60gensym9_,resultX60gensym9_.len-1); goto LA1_;
}
    T8_.len = 0; T8_.p = NIM_NIL;
    T8_ = resultX60gensym12_;
    resultX60gensym12_.len = 0; resultX60gensym12_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym9_.p->data[iX60gensym9_]), T8_);
    if (nimAddInt(i, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_18)) { raiseOverflow(); goto LA1_;
};
    i = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_18);
    eqdestroy___temp_u124((&resultX60gensym12_));
   } LA4: ;
  }
 }
 input = resultX60gensym9_;
 resultX60gensym9_.len = 0; resultX60gensym9_.p = NIM_NIL;
 T9_ = (void*)0;
 T9_ = calloc(((size_t) 1), ((size_t) 8));
 scratch838860896 = ((tyObject_ScratchObj838860902__lCRLsZt804SXF1CvyLnsxA*) (T9_));
 {
  tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ* T14_;
  if (!(scratch838860896 == 0)) goto LA12_;
  T14_ = NIM_NIL;
  T14_ = (tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ*) nimNewObj(sizeof(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ), NIM_ALIGNOF(tyObject_OutOfMemDefect__OtlHJ0UGFtkECfbfY8lDNQ));
  (*T14_).Sup.Sup.Sup.m_type = (&NTIv2__OtlHJ0UGFtkECfbfY8lDNQ_);
  (*T14_).Sup.Sup.name = "OutOfMemDefect";
  (*T14_).Sup.Sup.message = TM__SRd76hP9cMfCzdUO857UhQQ_19;
  (*T14_).Sup.Sup.parent = ((Exception*) NIM_NIL);
  raiseExceptionEx((Exception*)T14_, "OutOfMemDefect", "expandedMain", "/home/runner/work/Nim/Nim/temp.nim", 30);
  goto LA1_;
 }
 LA12_: ;
 colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
 eqcopy___temp_u282((&colontmpD_), input);
 isoTemp838860900 = isolate__temp_u357(colontmpD_);
 T15_.len = 0; T15_.p = NIM_NIL;
 T15_ = extract__temp_u385((&isoTemp838860900));
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 eqsink___temp_u285((&(*scratch838860896).input), T15_);
 colontmpD__2 = GC_getStatistics__system_u6987();
 (void)(colontmpD__2);
 GC_fullCollect__system_u3569();
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 resultX60gensym13_ = newSeq__temp_u175(((NI) 10000));
 {
  NI iX60gensym13_;
  NI i_3;
  iX60gensym13_ = (NI)0;
  i_3 = ((NI) 0);
  {
   while (1) {
    tySequence__qwqHTkRvwhrRyENtudHQ7g resultX60gensym16_;
    tySequence__qwqHTkRvwhrRyENtudHQ7g T22_;
    NI TM__SRd76hP9cMfCzdUO857UhQQ_21;
    if (!(i_3 < ((NI) 10000))) goto LA18;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    iX60gensym13_ = i_3;
    resultX60gensym16_ = newSeq__temp_u37(((NI) 10000));
    {
     NI iX60gensym16_;
     NI i_4;
     iX60gensym16_ = (NI)0;
     i_4 = ((NI) 0);
     {
      while (1) {
       NI TM__SRd76hP9cMfCzdUO857UhQQ_20;
       if (!(i_4 < ((NI) 10000))) goto LA21;
       iX60gensym16_ = i_4;
       if (iX60gensym16_ < 0 || iX60gensym16_ >= resultX60gensym16_.len){ raiseIndexError2(iX60gensym16_,resultX60gensym16_.len-1); goto LA1_;
}
       resultX60gensym16_.p->data[iX60gensym16_] = ((NI) 2);
       if (nimAddInt(i_4, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_20)) { raiseOverflow(); goto LA1_;
};
       i_4 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_20);
      } LA21: ;
     }
    }
    if (iX60gensym13_ < 0 || iX60gensym13_ >= resultX60gensym13_.len){ raiseIndexError2(iX60gensym13_,resultX60gensym13_.len-1); goto LA1_;
}
    T22_.len = 0; T22_.p = NIM_NIL;
    T22_ = resultX60gensym16_;
    resultX60gensym16_.len = 0; resultX60gensym16_.p = NIM_NIL;
    eqsink___temp_u130((&resultX60gensym13_.p->data[iX60gensym13_]), T22_);
    if (nimAddInt(i_3, ((NI) 1), &TM__SRd76hP9cMfCzdUO857UhQQ_21)) { raiseOverflow(); goto LA1_;
};
    i_3 = (NI)(TM__SRd76hP9cMfCzdUO857UhQQ_21);
    eqdestroy___temp_u124((&resultX60gensym16_));
   } LA18: ;
  }
 }
 colontmpD__3 = resultX60gensym13_;
 resultX60gensym13_.len = 0; resultX60gensym13_.p = NIM_NIL;
 (void)(colontmpD__3);
 nimZeroMem((void*)(&task), sizeof(tyObject_Task__gCL6JsyiG64udBirt85wbA));
 colontmpD__4 = someTask838860903__temp_u594;
 task.callback = colontmpD__4;
 task.args = ((void*) (scratch838860896));
 colontmpD__5 = destroyScratch838860904__temp_u610;
 task.destroy = colontmpD__5;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_9, 1);
 invoke__stdZtasks_u23(task);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_13, 1);
 someTask__temp_u11(input);
 if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
 {
  LA1_:;
 }
 {
  oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
  eqdestroy___stdZtasks_u16((&task));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&colontmpD__3));
  eqdestroy___temp_u279((&resultX60gensym13_));
  eqdestroy___system_u3679((&colontmpD__2));
  eqdestroy___temp_u366((&isoTemp838860900));
  if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
  eqdestroy___temp_u279((&resultX60gensym9_));
  eqdestroy___temp_u279((&input));
  *nimErr_ = oldNimErrFin1_;
 }
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 }BeforeRet_: ;
 popFrame();
}
N_LIB_PRIVATE void PreMainInner(void) {
}
 N_LIB_PRIVATE int cmdCount;
 N_LIB_PRIVATE char** cmdLine;
 N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_DatInit000();
 atmdotdotatsdotdotatsdotdotatsdotchoosenimatstoolchainsatsnimminus1dot6dot20atslibatssystemdotnim_Init000();
 PreMainInner();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
 NimMainModule();
}
N_CDECL(void, NimMain)(void) {
 PreMain();
 NimMainInner();
}
int main(int argc, char** args, char** env) {
 cmdLine = args;
 cmdCount = argc;
 gEnv = env;
 NimMain();
 return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
NIM_BOOL* nimErr_;
 nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
nimErr_ = nimErrorFlag();
 main__temp_u32();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 echoBinSafe(TM__SRd76hP9cMfCzdUO857UhQQ_15, 1);
 expandedMain__temp_u466();
 if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
 BeforeRet_: ;
 nimTestErrorFlag();
 popFrame();
}
}

Stats

  • Started 2024-07-26T13:12:10
  • Finished 2024-07-26T13:12:10
  • Duration

AST

nnkStmtList.newTree(
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      nnkBracket.newTree(
        newIdentNode("isolation"),
        newIdentNode("macros"),
        newIdentNode("sequtils"),
        newIdentNode("tasks")
      )
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("std"),
      newIdentNode("importutils")
    )
  ),
  nnkImportStmt.newTree(
    nnkInfix.newTree(
      newIdentNode("/"),
      newIdentNode("system"),
      newIdentNode("ansi_c")
    )
  ),
  nnkCommand.newTree(
    newIdentNode("privateAccess"),
    newIdentNode("Task")
  ),
  nnkConstSection.newTree(
    nnkConstDef.newTree(
      newIdentNode("size"),
      newEmptyNode(),
      newLit(10000)
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("someTask"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode(),
      nnkIdentDefs.newTree(
        newIdentNode("input"),
        nnkBracketExpr.newTree(
          newIdentNode("seq"),
          nnkBracketExpr.newTree(
            newIdentNode("seq"),
            newIdentNode("int")
          )
        ),
        newEmptyNode()
      )
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("sum"),
          newEmptyNode(),
          nnkDotExpr.newTree(
            newLit(0),
            newIdentNode("int")
          )
        )
      ),
      nnkForStmt.newTree(
        newIdentNode("i"),
        nnkInfix.newTree(
          newIdentNode("..<"),
          newLit(0),
          nnkCall.newTree(
            newIdentNode("len"),
            newIdentNode("input")
          )
        ),
        nnkStmtList.newTree(
          nnkForStmt.newTree(
            newIdentNode("j"),
            nnkInfix.newTree(
              newIdentNode("..<"),
              newLit(0),
              nnkCall.newTree(
                newIdentNode("len"),
                nnkBracketExpr.newTree(
                  newIdentNode("input"),
                  newIdentNode("i")
                )
              )
            ),
            nnkStmtList.newTree(
              nnkAsgn.newTree(
                newIdentNode("sum"),
                nnkInfix.newTree(
                  newIdentNode("+"),
                  newIdentNode("sum"),
                  nnkBracketExpr.newTree(
                    nnkBracketExpr.newTree(
                      newIdentNode("input"),
                      newIdentNode("i")
                    ),
                    newIdentNode("j")
                  )
                )
              )
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        nnkPrefix.newTree(
          newIdentNode("$"),
          newIdentNode("sum")
        )
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("main"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("toTask"),
            nnkCall.newTree(
              newIdentNode("someTask"),
              newIdentNode("input")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkProcDef.newTree(
    newIdentNode("expandedMain"),
    newEmptyNode(),
    newEmptyNode(),
    nnkFormalParams.newTree(
      newEmptyNode()
    ),
    newEmptyNode(),
    newEmptyNode(),
    nnkStmtList.newTree(
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("input"),
          newEmptyNode(),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              nnkBracketExpr.newTree(
                newIdentNode("seq"),
                newIdentNode("int")
              )
            ),
            newIdentNode("size"),
            nnkCall.newTree(
              nnkBracketExpr.newTree(
                newIdentNode("newSeqWith"),
                newIdentNode("int")
              ),
              newIdentNode("size"),
              nnkDotExpr.newTree(
                newLit(1),
                newIdentNode("int")
              )
            )
          )
        )
      ),
      nnkTypeSection.newTree(
        nnkTypeDef.newTree(
          newIdentNode("ScratchObj_838860902"),
          newEmptyNode(),
          nnkObjectTy.newTree(
            newEmptyNode(),
            newEmptyNode(),
            nnkRecList.newTree(
              nnkIdentDefs.newTree(
                newIdentNode("input"),
                nnkBracketExpr.newTree(
                  newIdentNode("seq"),
                  nnkBracketExpr.newTree(
                    newIdentNode("seq"),
                    newIdentNode("int")
                  )
                ),
                newEmptyNode()
              )
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("scratch_838860896"),
          newEmptyNode(),
          nnkCast.newTree(
            nnkPtrTy.newTree(
              newIdentNode("ScratchObj_838860902")
            ),
            nnkCall.newTree(
              newIdentNode("c_calloc"),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(1)
              ),
              nnkCall.newTree(
                newIdentNode("csize_t"),
                newLit(8)
              )
            )
          )
        )
      ),
      nnkIfStmt.newTree(
        nnkElifBranch.newTree(
          nnkCall.newTree(
            newIdentNode("isNil"),
            newIdentNode("scratch_838860896")
          ),
          nnkStmtList.newTree(
            nnkRaiseStmt.newTree(
              nnkObjConstr.newTree(
                nnkPar.newTree(
                  nnkRefTy.newTree(
                    newIdentNode("OutOfMemDefect")
                  )
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("msg"),
                  newLit("Could not allocate memory")
                ),
                nnkExprColonExpr.newTree(
                  newIdentNode("parent"),
                  newNilLit()
                )
              )
            )
          )
        )
      ),
      nnkVarSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("isoTemp_838860900"),
          newEmptyNode(),
          nnkCall.newTree(
            newIdentNode("isolate"),
            newIdentNode("input")
          )
        )
      ),
      nnkAsgn.newTree(
        nnkDotExpr.newTree(
          newIdentNode("scratch_838860896"),
          newIdentNode("input")
        ),
        nnkCall.newTree(
          newIdentNode("extract"),
          newIdentNode("isoTemp_838860900")
        )
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          newIdentNode("GC_getStatistics")
        )
      ),
      nnkCall.newTree(
        newIdentNode("GC_fullCollect")
      ),
      nnkDiscardStmt.newTree(
        nnkCall.newTree(
          nnkBracketExpr.newTree(
            newIdentNode("newSeqWith"),
            nnkBracketExpr.newTree(
              newIdentNode("seq"),
              newIdentNode("int")
            )
          ),
          newIdentNode("size"),
          nnkCall.newTree(
            nnkBracketExpr.newTree(
              newIdentNode("newSeqWith"),
              newIdentNode("int")
            ),
            newIdentNode("size"),
            nnkDotExpr.newTree(
              newLit(2),
              newIdentNode("int")
            )
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("someTask_838860903"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("objTemp_838860899"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("input_838860901"),
              newEmptyNode(),
              nnkDotExpr.newTree(
                newIdentNode("objTemp_838860899"),
                newIdentNode("input")
              )
            )
          ),
          nnkCall.newTree(
            newIdentNode("someTask"),
            newIdentNode("input_838860901")
          )
        )
      ),
      nnkProcDef.newTree(
        newIdentNode("destroyScratch_838860904"),
        newEmptyNode(),
        newEmptyNode(),
        nnkFormalParams.newTree(
          newEmptyNode(),
          nnkIdentDefs.newTree(
            newIdentNode("argsgensym8"),
            newIdentNode("pointer"),
            newEmptyNode()
          )
        ),
        nnkPragma.newTree(
          newIdentNode("gcsafe"),
          newIdentNode("nimcall")
        ),
        newEmptyNode(),
        nnkStmtList.newTree(
          nnkLetSection.newTree(
            nnkIdentDefs.newTree(
              newIdentNode("obj_838860905"),
              newEmptyNode(),
              nnkCast.newTree(
                nnkPtrTy.newTree(
                  newIdentNode("ScratchObj_838860902")
                ),
                newIdentNode("argsgensym8")
              )
            )
          ),
          nnkCall.newTree(
            nnkAccQuoted.newTree(
              newIdentNode("="),
              newIdentNode("destroy")
            ),
            nnkBracketExpr.newTree(
              newIdentNode("obj_838860905")
            )
          )
        )
      ),
      nnkLetSection.newTree(
        nnkIdentDefs.newTree(
          newIdentNode("task"),
          newEmptyNode(),
          nnkObjConstr.newTree(
            newIdentNode("Task"),
            nnkExprColonExpr.newTree(
              newIdentNode("callback"),
              newIdentNode("someTask_838860903")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("args"),
              newIdentNode("scratch_838860896")
            ),
            nnkExprColonExpr.newTree(
              newIdentNode("destroy"),
              newIdentNode("destroyScratch_838860904")
            )
          )
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum is:")
      ),
      nnkCall.newTree(
        nnkDotExpr.newTree(
          newIdentNode("task"),
          newIdentNode("invoke")
        )
      ),
      nnkCommand.newTree(
        newIdentNode("echo"),
        newLit("sum should be:")
      ),
      nnkCall.newTree(
        newIdentNode("someTask"),
        newIdentNode("input")
      )
    )
  ),
  nnkCall.newTree(
    newIdentNode("main")
  ),
  nnkCommand.newTree(
    newIdentNode("echo"),
    newLit("---")
  ),
  nnkCall.newTree(
    newIdentNode("expandedMain")
  )
)
#f11b7debf ➡️ 🐛

Diagnostics

ringabout introduced a bug at 2022-11-09 23:22:55 +0800 on commit #f11b7debf with message:

remove name field for ARC (#20797)

* remove name field for ARC

* mistake

* improvement

* better

* typo

* fixes a pre-existing bug

The bug is in the files:

compiler/ccgtypes.nim
lib/system.nim
lib/system/cyclebreaker.nim

The bug can be in the commits:

(Diagnostics sometimes off-by-one).

Stats
  • GCC 11.4.0
  • Clang 14.0.0
  • NodeJS 20.4
  • Created 2024-07-26T13:11:18Z
  • Comments 4
  • Commands nim c --gc:orc --opt:speed -d:nimArcDebug -d:nimArcIds --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim

🤖 Bug found in 37 minutes bisecting 2360 commits at 62 commits per second

from nim.

juancarlospaco avatar juancarlospaco commented on July 30, 2024

@ringabout See #23886 (comment) 🤔

from nim.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.