summary refs log tree commit diff stats
path: root/compiler/parser.nim
diff options
context:
space:
mode:
authorZahary Karadjov <zahary@gmail.com>2013-08-24 23:44:37 +0300
committerZahary Karadjov <zahary@gmail.com>2013-08-24 23:44:37 +0300
commit03577bc9367c107597b93922fa14fc6727f4fe50 (patch)
tree5e99420ff9099cba52bf39917707a071a741cc6b /compiler/parser.nim
parent037a1a3e0f2eda7dbcb8034929675fb714649bce (diff)
downloadNim-03577bc9367c107597b93922fa14fc6727f4fe50.tar.gz
fix parsing of ``proc foo(x: distinct Type)``
Diffstat (limited to 'compiler/parser.nim')
-rw-r--r--compiler/parser.nim7
1 files changed, 1 insertions, 6 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim
index 72b0ba796..ae9ec6105 100644
--- a/compiler/parser.nim
+++ b/compiler/parser.nim
@@ -960,6 +960,7 @@ proc primary(p: var TParser, mode: TPrimaryMode): PNode =
   of tkRef: result = parseTypeDescKAux(p, nkRefTy, mode)
   of tkPtr: result = parseTypeDescKAux(p, nkPtrTy, mode)
   of tkShared: result = parseTypeDescKAux(p, nkSharedTy, mode)
+  of tkDistinct: result = parseTypeDescKAux(p, nkDistinctTy, mode)
   of tkType: result = parseTypeDescKAux(p, nkTypeOfExpr, mode)
   of tkTuple: result = parseTuple(p, mode == pmTypeDef)
   of tkProc: result = parseProcExpr(p, mode notin {pmTypeDesc, pmTypeDef})
@@ -989,12 +990,6 @@ proc primary(p: var TParser, mode: TPrimaryMode): PNode =
       result = parseTypeClass(p)
     else:
       parMessage(p, errInvalidToken, p.tok)
-  of tkDistinct:
-    if mode == pmTypeDef:
-      result = parseDistinct(p)
-    else:
-      result = newNodeP(nkDistinctTy, p)
-      getTok(p)
   of tkAddr:
     result = newNodeP(nkAddr, p)
     getTokNoInd(p)