mirror of
https://github.com/nim-lang/Nim.git
synced 2026-06-06 11:54:11 +00:00
use arrow precedence in spec (#20166)
* test using arrow precedence in spec refs #8759 * add test for #8759
This commit is contained in:
@@ -973,7 +973,7 @@ proc getPrecedence*(tok: Token): int =
|
||||
|
||||
# arrow like?
|
||||
if tok.ident.s.len > 1 and tok.ident.s[^1] == '>' and
|
||||
tok.ident.s[^2] in {'-', '~', '='}: return 1
|
||||
tok.ident.s[^2] in {'-', '~', '='}: return 0
|
||||
|
||||
template considerAsgn(value: untyped) =
|
||||
result = if tok.ident.s[^1] == '=': 1 else: value
|
||||
|
||||
@@ -54,3 +54,10 @@ let
|
||||
const
|
||||
test =
|
||||
proc(): int = 1
|
||||
|
||||
# bug #8759
|
||||
block:
|
||||
template `=>`(a, b): untyped = (a, b)
|
||||
template `+=`(a, b): untyped = a * b
|
||||
|
||||
doAssert ("abc" => 3 += 5) == ("abc", 15)
|
||||
|
||||
Reference in New Issue
Block a user