Actions
Bug #20747
closed[prism] regression in retry precedence
ruby -v:
ruby 3.4.0dev (2024-09-15T01:06:11Z master 532af89e3b) +PRISM [arm64-darwin23]
Description
Since prism has been made the default, our test suite now fail to boot with the following error:
syntax error found (SyntaxError)
298 | raise e
299 | else
> 300 | retry
| ^~~~~ Invalid retry after else
301 | end
302 | end
Here's the code in question, that reproduce the error:
def retry_thing(times: 1)
retries ||= 0
begin
yield
rescue RuntimeError => e
raise if (retries += 1) > times
begin
refresh!
rescue
raise e
else
retry
end
end
end
Updated by byroot (Jean Boussier) 2 months ago
- Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED
Updated by kddnewton (Kevin Newton) 2 months ago
I have opened a PR to fix this: https://github.com/ruby/prism/pull/3073.
Updated by kddnewton (Kevin Newton) 2 months ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0