summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFlaviu Tamas <tamasflaviu@gmail.com>2015-05-26 18:29:44 -0400
committerFlaviu Tamas <tamasflaviu@gmail.com>2015-05-26 18:40:43 -0400
commitc9616897f0e0d932c75b61ed96124d8cbac35076 (patch)
tree155593873379a3775301edbd67be61138be40b55
parent4fc9dabd58295cb4df27d2246c7f19661c878367 (diff)
downloadNim-c9616897f0e0d932c75b61ed96124d8cbac35076.tar.gz
Don't inspect typedescs
-rw-r--r--lib/pure/unittest.nim13
-rw-r--r--tests/stdlib/tunittest.nim5
2 files changed, 12 insertions, 6 deletions
diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim
index 3bf4724b9..092b1fba2 100644
--- a/lib/pure/unittest.nim
+++ b/lib/pure/unittest.nim
@@ -157,12 +157,13 @@ macro check*(conditions: stmt): stmt {.immediate.} =
           #   Ident !"v"
           #   IntLit 2
           paramAst = exp[i][1]
-        argsAsgns.add getAst(asgn(arg, paramAst))
-        argsPrintOuts.add getAst(print(argStr, arg))
-        if exp[i].kind != nnkExprEqExpr:
-          exp[i] = arg
-        else:
-          exp[i][1] = arg
+        if exp[i].typekind notin {ntyTypeDesc}:
+          argsAsgns.add getAst(asgn(arg, paramAst))
+          argsPrintOuts.add getAst(print(argStr, arg))
+          if exp[i].kind != nnkExprEqExpr:
+            exp[i] = arg
+          else:
+            exp[i][1] = arg
 
   case checked.kind
   of nnkCallKinds:
diff --git a/tests/stdlib/tunittest.nim b/tests/stdlib/tunittest.nim
new file mode 100644
index 000000000..3726eaa9e
--- /dev/null
+++ b/tests/stdlib/tunittest.nim
@@ -0,0 +1,5 @@
+import unittest
+import options
+test "unittest typedescs":
+  check(none(int) == none(int))
+  check(none(int) != some(1))