summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-11-01 09:45:37 +0100
committerGitHub <noreply@github.com>2016-11-01 09:45:37 +0100
commit4884a56e38e97eecb9e780cdb7c8f876dd771798 (patch)
tree7b40955255a60338326e2c23210f9b97d8c2a999
parentd4c35da4700c1d2de4dc18e18b065b9b0108835a (diff)
parent55b28f86e1fe0b7dc151f93692a987b4a48e98ac (diff)
downloadNim-4884a56e38e97eecb9e780cdb7c8f876dd771798.tar.gz
Merge pull request #4980 from jlp765/tostring
Add nill value handling for seq/sets to system.CollectionToString()
-rw-r--r--lib/system.nim3
-rw-r--r--tests/stdlib/tnilecho.nim2
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/system.nim b/lib/system.nim
index 65304941d..9925079c7 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -2334,7 +2334,8 @@ proc collectionToString[T: set | seq](x: T, b, e: string): string =
   var firstElement = true
   for value in items(x):
     if not firstElement: result.add(", ")
-    result.add($value)
+    if value.isNil: result.add "nil"
+    else: result.add($value)
     firstElement = false
   result.add(e)
 
diff --git a/tests/stdlib/tnilecho.nim b/tests/stdlib/tnilecho.nim
new file mode 100644
index 000000000..147b5e492
--- /dev/null
+++ b/tests/stdlib/tnilecho.nim
@@ -0,0 +1,2 @@
+var x = @["1", nil, "3"]
+doAssert $x == "@[1, nil, 3]"