From ac3c4a94add9e21e9f0731f39be88cdba2bec010 Mon Sep 17 00:00:00 2001 From: Quelklef Date: Thu, 12 Jul 2018 05:01:48 -0400 Subject: [PATCH] Fixed $ on None[T] for T with .name (#8293) --- lib/pure/options.nim | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/pure/options.nim b/lib/pure/options.nim index bd01b208ae..ce58943f93 100644 --- a/lib/pure/options.nim +++ b/lib/pure/options.nim @@ -189,7 +189,7 @@ proc `$`*[T](self: Option[T]): string = if self.isSome: "Some(" & $self.val & ")" else: - "None[" & T.name & "]" + "None[" & name(T) & "]" when isMainModule: import unittest, sequtils @@ -298,3 +298,17 @@ when isMainModule: test "none[T]": check(none[int]().isNone) check(none(int) == none[int]()) + + test "$ on typed with .name": + type Named = object + name: string + + let nobody = none(Named) + check($nobody == "None[Named]") + + test "$ on type with name()": + type Person = object + myname: string + + let noperson = none(Person) + check($noperson == "None[Person]")