You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2015/05/18 13:19:00 UTC
[jira] [Created] (GROOVY-7428) Change precedence priority of **
compared to pre/post inc/dec and unary plus/minus
Paul King created GROOVY-7428:
---------------------------------
Summary: Change precedence priority of ** compared to pre/post inc/dec and unary plus/minus
Key: GROOVY-7428
URL: https://issues.apache.org/jira/browse/GROOVY-7428
Project: Groovy
Issue Type: Improvement
Reporter: Paul King
Currently the precedence order is:
{noformat}
level 1: post inc/dec
level 2: power
level 3: pre inc/dec
{noformat}
The original intention, I believe, was always:
{noformat}
level 1: post inc/dec
level 2: pre inc/dec
level 3: power
{noformat}
This leads to some unintuitive behavior:
while these are the same:
{code}
println (-9 + 2) // -7
println ((-9) + 2) // -7
{code}
these are different:
{code}
println (-9 ** 2) // -81 actually: println (-(9 ** 2))
println ((-9) ** 2) // 81
{code}
Similar anomalies occur between {{**}} and {{++}}/{{--}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)