Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion lib/yard/parser/ruby/ast_node.rb
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,8 @@ def args_forward
# shape is (required, optional, rest, more, keyword, keyword_rest, block)
# Ruby 3.1 moves :args_forward from rest to keyword_rest
args_index = YARD.ruby31? ? -2 : 2
self[args_index].type == :args_forward if self[args_index]
node = self[args_index]
node.is_a?(AstNode) && node.type == :args_forward
end
end

Expand Down
10 changes: 10 additions & 0 deletions spec/handlers/method_handler_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,16 @@ def endless_with_arg(arg = true) = true
expect(P('Foo#d_unnamed_splat').parameters).to eq []
end

it "handles **nil with named block" do
YARD.parse_string <<-RUBY
class KwNilBlock
def no_kwargs_with_block(**nil, &block); end
end
RUBY

expect(P('KwNilBlock#no_kwargs_with_block').parameters).to eq [['&block', nil]]
end if YARD.ruby3?

it "handles overloads" do
meth = P('Foo#foo')

Expand Down
Loading