From ed96b09e6110cf75bde324f741cdf5da205e81af Mon Sep 17 00:00:00 2001 From: Yuriy Glukhov Date: Tue, 31 May 2016 12:38:25 +0300 Subject: [PATCH] Fix dollar for non printable/accessible fields. Fixes #4236. --- lib/system.nim | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/system.nim b/lib/system.nim index 8180f27cd9..3a5415b87b 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 =