From 96da3f16a0e4ad9c14197d5ed794cecf1abf9546 Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Tue, 17 Sep 2024 14:10:10 -0400 Subject: [PATCH] [ruby/prism] Allow returns in default parameter values https://github.com/ruby/prism/commit/e98ea15596 --- prism/prism.c | 2 +- test/prism/fixtures/methods.txt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/prism/prism.c b/prism/prism.c index 73f33a4ebf..54061d157d 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -15446,7 +15446,6 @@ parse_return(pm_parser_t *parser, pm_node_t *node) { case PM_CONTEXT_CASE_IN: case PM_CONTEXT_CASE_WHEN: case PM_CONTEXT_DEFAULT_PARAMS: - case PM_CONTEXT_DEF_PARAMS: case PM_CONTEXT_DEFINED: case PM_CONTEXT_ELSE: case PM_CONTEXT_ELSIF: @@ -15492,6 +15491,7 @@ parse_return(pm_parser_t *parser, pm_node_t *node) { case PM_CONTEXT_BLOCK_RESCUE: case PM_CONTEXT_DEF_ELSE: case PM_CONTEXT_DEF_ENSURE: + case PM_CONTEXT_DEF_PARAMS: case PM_CONTEXT_DEF_RESCUE: case PM_CONTEXT_DEF: case PM_CONTEXT_LAMBDA_BRACES: diff --git a/test/prism/fixtures/methods.txt b/test/prism/fixtures/methods.txt index 4bfd976eda..d59196bdfd 100644 --- a/test/prism/fixtures/methods.txt +++ b/test/prism/fixtures/methods.txt @@ -181,3 +181,8 @@ end def foo(bar = (def baz(bar) = bar; 1)) = 2 def (class Foo; end).foo(bar = 1) = 2 + +module Foo + def clone(opts = nil || (return self)) + end +end