Actions
Bug #17425
closedRipper.lex raises unexpected error
Bug #17425: Ripper.lex raises unexpected error
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux]
Description
$ cat /tmp/l.rb require "ripper" pp Ripper.lex("def foo(arg1?:) end") $ ./ruby -v /tmp/l.rb ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux] /var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:198:in `on_error2': undefined method `pos' for 30279:Integer (NoMethodError) Breakpoint 1, ripper_dispatch2 (p=p@entry=0x555555c73240, mid=34721, a=93824999713440, b=b@entry=41775) at ripper.y:13336 13336 { (gdb) rp p->lex.input T_STRING: "def foo(arg1?:) end" bytesize:19 (embed) encoding:1 coderange:7bit $1 = (struct RString *) 0x555555c77400 (gdb) rb_id2name mid ID: l(34721): on_param_error (gdb) rp a T_STRING: "formal argument must be local variable" bytesize:38 encoding:1 coderange:unknown $2 = (struct RString *) 0x555555c76aa0 (gdb) rp b FIXNUM: 20887 (gdb) rb_id2name b ID: j(41775): arg1? (gdb) up #1 0x00007ffff2c30719 in formal_argument (p=p@entry=0x555555c73240, lhs=lhs@entry=41775) at ripper.y:7881 7881 ERR("formal argument must be local variable"); (gdb) c Continuing. /var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:198:in `on_error2': undefined method `pos' for 20887:Integer (NoMethodError)
Updated by nobu (Nobuyoshi Nakada) almost 5 years ago
- Status changed from Open to Closed
Applied in changeset git|733ed1e18498f97250b788f169c37b170e0cf2b6.
ripper: fix bad label parameter handling [Bug #17425]
Actions