-
-
Notifications
You must be signed in to change notification settings - Fork 398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RangeError When using pattern matching in YARD documentation generation #1521
Comments
aalin
added a commit
to mayu-live/css
that referenced
this issue
Jan 10, 2024
tapioca uses YARD for parsing, and YARD is currently unable to parse these expressions, so I couldn't generate RBI files for sorbet using tapioca. lsegal/yard#1521
Possible workaround in #1536 . |
I face the same issue (Yard 0.9.36) on this sample test case: def foo(code)
case code
in Foo
end
end
def bar(code)
code.type => Bar
end
Unfortunately #1536 does not fix my problem. Weirdly enough, I need both functions for yard to crash. With only There is good news: I can easily work-around by adding useless parens: def bar(code)
(code.type => Bar)
end |
stackmystack
added a commit
to stackmystack/yard
that referenced
this issue
Jul 29, 2024
Fixes lsegal#1521. Avoid errors like: `first': cannot get the first element of beginless range
6 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
Maybe i encountered an issue while generating documentation using the YARD gem with pattern matching syntax like "foo" => String. A
RangeError
is thrown regarding a 'beginless range'. This error specifically arises in theast_node.rb:348
file as part of the documentation generation process.Error Message:
.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/yard-0.9.34/lib/yard/parser/ruby/ast_node.rb:348:in `first': cannot get the first element of beginless range (RangeError)
Steps to reproduce
"foo" => String
in a method documented with YARD.yard doc
.Expected Result:
Documentation is generated without any errors.
Actual Result:
The documentation generation process fails with a RangeError when trying to interpret pattern matching with string literals.
Environment:
Code Example:
Repository reference link
The text was updated successfully, but these errors were encountered: