summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/system.nim5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/system.nim b/lib/system.nim
index 2677e4990..4ea880b4b 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -3286,14 +3286,19 @@ when declared(initDebugger):
 when hasAlloc:
   # XXX: make these the default (or implement the NilObject optimization)
   proc safeAdd*[T](x: var seq[T], y: T) {.noSideEffect.} =
+    ## Add `y` to `x` unless `x` is not yet initialized; in that case, `x`
+    ## becomes `@[y]`
     if x == nil: x = @[y]
     else: x.add(y)
 
   proc safeAdd*(x: var string, y: char) =
+    ## Add `y` to `x`. If `x` is `nil` it is initialized to `""`
     if x == nil: x = ""
     x.add(y)
 
   proc safeAdd*(x: var string, y: string) =
+    ## Add `y` to `x` unless `x` is not yet initalized; in that case, `x`
+    ## becomes `y`
     if x == nil: x = y
     else: x.add(y)