diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 3ca80a9b1a..108e213697 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -962,6 +962,7 @@ proc builtinFieldAccess(c: PContext, n: PNode, flags: TExprFlags): PNode = if s != nil: if s.kind in OverloadableSyms: result = symChoice(c, n, s, scClosed) + if result.kind == nkSym: result = semSym(c, n, s, flags) else: markUsed(n.sons[1].info, s) result = semSym(c, n, s, flags) diff --git a/lib/pure/pegs.nim b/lib/pure/pegs.nim index 1ecb9d19e6..6eb7dee786 100644 --- a/lib/pure/pegs.nim +++ b/lib/pure/pegs.nim @@ -1467,7 +1467,7 @@ proc builtin(p: var PegParser): Peg = of "W": result = charSet({'\1'..'\xff'} - {'a'..'z','A'..'Z','_','0'..'9'}) of "a": result = charSet({'a'..'z', 'A'..'Z'}) of "A": result = charSet({'\1'..'\xff'} - {'a'..'z', 'A'..'Z'}) - of "ident": result = pegs.ident() + of "ident": result = pegs.ident of "letter": result = unicodeLetter() of "upper": result = unicodeUpper() of "lower": result = unicodeLower()