@mame that looks really good. I think I may have overestimated how difficult it would be, but this seems like a really good solution. A future thing may be to trim down the Ruby::Prism API, since that now covers so much surface area. ...kddnewton (Kevin Newton)
Please don't do this. This is going to start impacting &&= and ||=, which already have very complex semantics depending on what is on the left-hand side of the expression. This is going to be very difficult to reason about.kddnewton (Kevin Newton)
There are times when we don't need explicit order in a list of constants, namely when looking at names of captures in a pattern match and names of captures in a regular expression. In these cases it's better to be linear with respect to ...kddnewton (Kevin Newton)
A bunch of things are required to match ripper state, including looking backward sometimes to pull a state forward because of the nature of parse.y. This changes the structure from a backward look to a forward look by keeping a couple of...kddnewton (Kevin Newton)
The parse.y grammar has the concept of a words separator that must delimit words in a word list literal. Prism previously didn't emit these in the token stream because they don't actually correspond to any source code. However, in order...kddnewton (Kevin Newton)
I doubt it was OOM, a lot of other stuff would have failed. I found one potential culprit that is pretty hard to hit, but technically possible here: https://github.com/ruby/prism/pull/4219. Failing any other information, I'm going to ass...kddnewton (Kevin Newton)