General

Profile

tompng (tomoya ishida)

Issues

open closed Total
Assigned issues 0 17 17
Reported issues 11 77 88

Projects

Project Roles Registered on
Ruby Committer 12/26/2024

Activity

12/02/2025

05:15 PM Ruby Bug #21756: Ripper fails to parse pathological heredoc
Looks like there is one more separate issue here. Prism and parse.y execution result differs.
~~~ruby
p <<-A, %w[a\
A
b c]
# Prism: ["a\n", "b", "c"]
# parse.y: ["a\nb", "c"]
~~~
Changing `%w` to `%W`, Prism and parse.y are the...
tompng (tomoya ishida)
05:08 PM Ruby Bug #21758 (Closed): Prism fails to parse heredoc within %Q literal split by another heredoc
Prism fails to parse this code
~~~ruby
<<A; %Q
A
#{<<B}
B
~~~
Parse error:
~~~
a.rb:4: syntax error found (SyntaxError)
2 | A
3 | #{<<B}
> 4 | B
| ^ unexpected constant, expecting end-of-input
~~~
`B` at line 4...
tompng (tomoya ishida)

11/26/2025

06:00 PM Ruby Bug #21714 (Open): Prism and parse.y inconsistency in `def a = a b do 1 end`
Endless method definition and command with block are syntax error in parse.y, accepted in Prism.
~~~ruby
def a = a b do 1 end
~~~
Related to https://bugs.ruby-lang.org/issues/17398 and https://bugs.ruby-lang.org/issues/21711
tompng (tomoya ishida)
05:54 PM Ruby Bug #21713 (Open): Prism accepts pattern matching in modifier rescue followed by operators that shouldn't be allowed
These are syntax errors in parse.y but accepted in Prism
~~~ruby
a rescue b => c in d
a rescue b in c..
a rescue b => c..
a rescue b => c::itself
a rescue b => c[]
a rescue b => c[0] = 1
a rescue b => c ? 1 : 2
a rescue b => c |...
tompng (tomoya ishida)
05:41 PM Ruby Bug #21712 (Open): Prism and parse.y inconsistency in command call with block and `.()`
`a b do end.()` `a b do end&.()` are parsed differently.
Prism: parse success, parse.y: SyntaxError
I personally like Prism's behavior: `.()` and `&.()` are accepted where `.f()` and `&.f()` are accepted.
tompng (tomoya ishida)
05:15 PM Ruby Bug #21711 (Open): Prism and parse.y parses private endless method definition with block differently
In the following code, `do end` block is passed to `private` in Prism but passed to `tap` in parse.y
~~~ruby
private def f = tap do end
f # different result(prism: LocalJumpError, parsey: returns main)
~~~
According to https://bug...
tompng (tomoya ishida)

11/23/2025

09:14 PM Ruby Bug #21707 (Closed): Destructuring assignment of SimpleDelegator wrapped array bug with YJIT
Destructuring assignment does not work after a few iterations if YJIT is enabled.
Happens in ruby 3.4.1 and 4.0.0dev.
~~~
root@05305c0005f4:/# ruby -v
ruby 4.0.0dev (2025-11-23T19:10:29Z master 8d73a18187) +PRISM [x86_64-linux]
root...
tompng (tomoya ishida)

11/12/2025

04:58 AM Ruby Bug #21680 (Closed): Integer#digits bug starting from Ruby 3.1
Applied in changeset commit:git|f4f728b319086eea3db6e9909fb9c849c276f813.
----------
[Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)
Fix wrong condition in base multiplying loop.
tompng (tomoya ishida)
04:58 AM Ruby Revision f4f728b3 (git): [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)
Fix wrong condition in base multiplying loop. tompng (tomoya ishida)

11/11/2025

08:25 PM Ruby Bug #21680: Integer#digits bug starting from Ruby 3.1
Pull request https://github.com/ruby/ruby/pull/15144 tompng (tomoya ishida)

Also available in: Atom