From: "kddnewton (Kevin Newton) via ruby-core" Date: 2024-09-16T19:28:19+00:00 Subject: [ruby-core:119229] [Ruby master Bug#20747] [prism] regression in retry precedence Issue #20747 has been updated by kddnewton (Kevin Newton). I have opened a PR to fix this: https://github.com/ruby/prism/pull/3073. ---------------------------------------- Bug #20747: [prism] regression in retry precedence https://bugs.ruby-lang.org/issues/20747#change-109810 * Author: byroot (Jean Boussier) * Status: Open * Assignee: kddnewton (Kevin Newton) * ruby -v: ruby 3.4.0dev (2024-09-15T01:06:11Z master 532af89e3b) +PRISM [arm64-darwin23] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONTNEED ---------------------------------------- Since prism has been made the default, our test suite now fail to boot with the following error: ```ruby 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: ```ruby 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 ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/