You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am not exactly sure what the cause of this is, but the following code (simplified from real code) causes the YARD rake task to crash when in a file that's being evaluated:
rake aborted!
RangeError: cannot get the first element of beginless range (RangeError)
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/ruby/ruby_parser.rb:452:in 'Range#first'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/ruby/ruby_parser.rb:452:in 'YARD::Parser::Ruby::RipperParser#on_unless_mod'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/ruby/ruby_parser.rb:56:in 'Ripper#parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/ruby/ruby_parser.rb:56:in 'YARD::Parser::Ruby::RipperParser#parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/ruby/ruby_parser.rb:17:in 'YARD::Parser::Ruby::RubyParser#parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/source_parser.rb:442:in 'YARD::Parser::SourceParser#parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/source_parser.rb:45:in 'block in YARD::Parser::OrderedParser#parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/logging.rb:236:in 'YARD::Logger#capture'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/source_parser.rb:44:in 'YARD::Parser::OrderedParser#parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/source_parser.rb:371:in 'YARD::Parser::SourceParser.parse_in_order'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/source_parser.rb:114:in 'block in YARD::Parser::SourceParser.parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/logging.rb:145:in 'YARD::Logger#enter_level'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/parser/source_parser.rb:113:in 'YARD::Parser::SourceParser.parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard.rb:20:in 'YARD.parse'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/cli/yardoc.rb:259:in 'block in YARD::CLI::Yardoc#run'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/serializers/yardoc_serializer.rb:56:in 'YARD::Serializers::YardocSerializer#lock_for_writing'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/registry_store.rb:202:in 'YARD::RegistryStore#lock_for_writing'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/registry.rb:210:in 'YARD::Registry.lock_for_writing'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/cli/yardoc.rb:258:in 'YARD::CLI::Yardoc#run'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/yard-0.9.37/lib/yard/rake/yardoc_task.rb:74:in 'block in YARD::Rake::YardocTask#define'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:281:in 'block in Rake::Task#execute'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:281:in 'Array#each'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:281:in 'Rake::Task#execute'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:219:in 'block in Rake::Task#invoke_with_call_chain'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:199:in 'Monitor#synchronize'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:199:in 'Rake::Task#invoke_with_call_chain'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/task.rb:188:in 'Rake::Task#invoke'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:182:in 'Rake::Application#invoke_task'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:138:in 'block (2 levels) in Rake::Application#top_level'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:138:in 'Array#each'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:138:in 'block in Rake::Application#top_level'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:147:in 'Rake::Application#run_with_threads'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:132:in 'Rake::Application#top_level'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:83:in 'block in Rake::Application#run'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:208:in 'Rake::Application#standard_exception_handling'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/lib/rake/application.rb:80:in 'Rake::Application#run'
/Users/daniel/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rake-13.1.0/exe/rake:27:in ''
/Users/daniel/.rbenv/versions/3.4.1/bin/rake:25:in 'Kernel#load'
/Users/daniel/.rbenv/versions/3.4.1/bin/rake:25:in ''
If the symbol on line 11 is changed from :def to something else, YARD no longer crashes. If either of the next keywords on lines 4 and 12 are changed, it no longer crashes either. If either method is removed, it no longer crashes as well.
I'm using YARD 0.9.37 on Ruby 3.4.1. My rake task setup looks like this:
YARD::Rake::YardocTask.new do |task|
task.files = ['test.rb']
task.options = ['--no-output']
end
The text was updated successfully, but these errors were encountered:
I am not exactly sure what the cause of this is, but the following code (simplified from real code) causes the YARD rake task to crash when in a file that's being evaluated:
Crash backlog
If the symbol on line 11 is changed from
:def
to something else, YARD no longer crashes. If either of thenext
keywords on lines 4 and 12 are changed, it no longer crashes either. If either method is removed, it no longer crashes as well.I'm using YARD 0.9.37 on Ruby 3.4.1. My rake task setup looks like this:
The text was updated successfully, but these errors were encountered: