compiler/injectdestructors

  Source   Edit

Injects destructor calls into Nim code as well as an optimizer that optimizes copies to moves. This is implemented as an AST to AST transformation so that every backend benefits from it.See doc/destructors.rst for a spec of the implemented rewrite rules

Procs

proc injectDestructorCalls(g: ModuleGraph; idgen: IdGenerator; owner: PSym;
                           n: PNode): PNode {....raises: [Exception, ValueError,
    KeyError, OSError, IOError, ERecoverableError], tags: [RootEffect,
    ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect].}
  Source   Edit
proc sameLocation(a, b: PNode): bool {....raises: [], tags: [].}
  Source   Edit