Project

General

Profile

Actions

Bug #20747

closed

[prism] regression in retry precedence

Added by byroot (Jean Boussier) 2 months ago. Updated 2 months ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 3.4.0dev (2024-09-15T01:06:11Z master 532af89e3b) +PRISM [arm64-darwin23]
[ruby-core:119214]

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
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0