summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-05-31 20:25:18 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-05-31 20:25:18 +0200
commit24a56a2cb66f3ef05cd9cfca0fe2f5b82f11251a (patch)
tree9dd5023741ec84d8e7d6cdff611f2e2b578346d7 /lib
parent80f2e3ea00543a17a9832a88c9e05584a7de33a4 (diff)
parented96b09e6110cf75bde324f741cdf5da205e81af (diff)
downloadNim-24a56a2cb66f3ef05cd9cfca0fe2f5b82f11251a.tar.gz
Merge pull request #4244 from yglukhov/object-dollar
Fix dollar for non printable/accessible fields. Fixes #4236.
Diffstat (limited to 'lib')
-rw-r--r--lib/system.nim13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/system.nim b/lib/system.nim
index 8180f27cd..3a5415b87 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -2296,12 +2296,15 @@ proc `$`*[T: tuple|object](x: T): string =
     if not firstElement: result.add(", ")
     result.add(name)
     result.add(": ")
-    when compiles(value.isNil):
-      if value.isNil: result.add "nil"
-      else: result.add($value)
+    when compiles($value):
+      when compiles(value.isNil):
+        if value.isNil: result.add "nil"
+        else: result.add($value)
+      else:
+        result.add($value)
+      firstElement = false
     else:
-      result.add($value)
-    firstElement = false
+      result.add("...")
   result.add(")")
 
 proc collectionToString[T: set | seq](x: T, b, e: string): string =