Fix parser bug with type classes (#7480)

This commit is contained in:
Oscar Nihlgård
2018-04-06 22:44:54 +02:00
committed by Andreas Rumpf
parent 8b7c2bd067
commit d6793ded27
2 changed files with 18 additions and 0 deletions

View File

@@ -1080,6 +1080,7 @@ proc parseTypeDescKAux(p: var TParser, kind: TNodeKind,
#| distinct = 'distinct' optInd typeDesc
result = newNodeP(kind, p)
getTok(p)
if p.tok.indent != -1 and p.tok.indent <= p.currInd: return
optInd(p, result)
if not isOperator(p.tok) and isExprStart(p):
addSon(result, primary(p, mode))

View File

@@ -0,0 +1,17 @@
discard """
action: run
"""
type
R = ref
V = var
D = distinct
P = ptr
var x: ref int
var y: distinct int
var z: ptr int
doAssert x is ref
doAssert y is distinct
doAssert z is ptr