Descriptive Problem Summary:
if (i > o || g == 2) <--- works, treated as if ((i > o) || (g == 2))
if (i in o || g == 2) <--- doesn't work, treated as if (i in (o || g) == 2)
if (i in o || b in o) <--- doesn't work, treated as if (i in (o || b) in o)
If this isn't a "proper" bug, it's a damn big usability bug.
I just spent the last 2 hours trying to track down a bug in my code that was caused by this little oddity.
ID:1950007
Sep 26 2015, 9:32 pm
|
|||||||||||||
| |||||||||||||
Sep 26 2015, 9:34 pm
|
|
Tom mentioned probably 2-3 years ago about raising its precedence. It never happened, though.
|
There's another issue on this somewhere.
The problem with raising the precedence is figuring out how to deal with in the recursive descent parser. |
In response to Ter13
|
|
Ter13 wrote:
Tom mentioned probably 2-3 years ago about raising its precedence. It never happened, though. According to Lummox, the way operator priority is handled in the parser is super difficult to change. (source) dupes/relevant: id:1686955 id:1605373 |
In response to Super Saiyan X
|
|
Is there some kind of method that could give it pseudo-priority before the actual batch parsing?
|