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)
When escaped newlines are encountered, they are added to the newline list. We need to check that we aren't backing up to read the rest of the line because of a heredoc, in which case the newline would have already have been added to the ...kddnewton (Kevin Newton)
Having trouble reproducing anything here. Are you able to share the file it crashed on? Any chance there are a bunch of weird heredocs in there? (I'm shooting in the dark here a bit.)kddnewton (Kevin Newton)
Previously we were just checking the token, which meant something like `{ a: 1, **{a: 2}.select { false } }` would warn. As esoteric as this is, it was possible. This also happily gets rid of the current_hash_keys field on parser, making...kddnewton (Kevin Newton)
There are actually 3 tokens in the Ruby grammar: the newline in a whitespace insensitive position that is ignored, a newline that is in a whitespace sensitive position that acts as a statement terminator, and a newline in a whitespace se...kddnewton (Kevin Newton)