Merge pull request #4244 from yglukhov/object-dollar

Fix dollar for non printable/accessible fields. Fixes #4236.
This commit is contained in:
Andreas Rumpf 2016-05-31 20:25:18 +02:00
commit 24a56a2cb6

View file

@ -2296,12 +2296,15 @@ proc `$`*[T: tuple|object](x: T): string =
if not firstElement: result.add(", ") if not firstElement: result.add(", ")
result.add(name) result.add(name)
result.add(": ") result.add(": ")
when compiles(value.isNil): when compiles($value):
if value.isNil: result.add "nil" when compiles(value.isNil):
else: result.add($value) if value.isNil: result.add "nil"
else: result.add($value)
else:
result.add($value)
firstElement = false
else: else:
result.add($value) result.add("...")
firstElement = false
result.add(")") result.add(")")
proc collectionToString[T: set | seq](x: T, b, e: string): string = proc collectionToString[T: set | seq](x: T, b, e: string): string =