diff options
-rw-r--r-- | compiler/parser.nim | 12 | ||||
-rw-r--r-- | doc/manual/syntax.txt | 8 | ||||
-rw-r--r-- | todo.txt | 7 |
3 files changed, 19 insertions, 8 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim index 11dd6788a..eb0ef071d 100644 --- a/compiler/parser.nim +++ b/compiler/parser.nim @@ -250,12 +250,14 @@ proc isUnary(p: TParser): bool = if p.tok.tokType in {tkOpr, tkDotDot} and p.tok.strongSpaceB == 0 and p.tok.strongSpaceA > 0: - # XXX change this after 0.10.4 is out - if p.strongSpaces: result = true - else: - parMessage(p, warnDeprecated, - "will be parsed as unary operator; inconsistent spacing") + # versions prior to 0.13.0 used to do this: + when false: + if p.strongSpaces: + result = true + else: + parMessage(p, warnDeprecated, + "will be parsed as unary operator; inconsistent spacing") proc checkBinary(p: TParser) {.inline.} = ## Check if the current parser token is a binary operator. diff --git a/doc/manual/syntax.txt b/doc/manual/syntax.txt index c444a3995..ca3b582ca 100644 --- a/doc/manual/syntax.txt +++ b/doc/manual/syntax.txt @@ -64,6 +64,14 @@ Precedence level Operators First charact ================ =============================================== ================== =============== +Whether an operator is used a prefix operator is also affected by preceeding whitespace (this parsing change was introduced with version 0.13.0): + +.. code-block:: nim + echo $foo + # is parsed as + echo($foo) + + Strong spaces ------------- diff --git a/todo.txt b/todo.txt index afc3776a6..eca11ee07 100644 --- a/todo.txt +++ b/todo.txt @@ -2,8 +2,10 @@ essential for 1.0 ================= - introduce newSeqOfCap(10) -- The remaining bugs of the lambda lifting pass that is responsible to enable - closures and closure iterators need to be fixed. +- annotation support for getType() +- overloading of `()` needs to be in .experimental +- do notation needs to be documented properly + - ``concept`` needs to be refined, a nice name for the feature is not enough. - Destructors need to be refined. - make '--implicitStatic:on' the default; then we can also clean up the @@ -12,7 +14,6 @@ essential for 1.0 - add "all threads are blocked" detection to 'spawn' - Deprecate ``immediate`` for templates and macros - document NimMain and check whether it works for threading -- remove echo $foo gotcha - ``not`` or ``~`` for the effects system |