<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_compile_prism.rb, branch v4.0.2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Correctly compile splats in for-loop index in prism</title>
<updated>2025-10-27T15:28:41+00:00</updated>
<author>
<name>Earlopain</name>
<email>14981592+Earlopain@users.noreply.github.com</email>
</author>
<published>2025-10-27T12:17:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0b0da6c4b26f80ad6985722d3fc0f5cdee09125d'/>
<id>0b0da6c4b26f80ad6985722d3fc0f5cdee09125d</id>
<content type='text'>
Fixes [Bug #21648]

This is a followup to https://github.com/ruby/ruby/pull/13597.
The added test passed but didn't emit the same instructions.

This also handles bare splats and aligns instructions for all cases
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes [Bug #21648]

This is a followup to https://github.com/ruby/ruby/pull/13597.
The added test passed but didn't emit the same instructions.

This also handles bare splats and aligns instructions for all cases
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compilation for forwarding params in Prism</title>
<updated>2025-07-17T22:00:33+00:00</updated>
<author>
<name>Aaron Patterson</name>
<email>tenderlove@ruby-lang.org</email>
</author>
<published>2025-07-17T18:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=86320a53002a3adaf35ad7434c70e86747a8b345'/>
<id>86320a53002a3adaf35ad7434c70e86747a8b345</id>
<content type='text'>
[Bug #21326]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21326]
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #21439] Fix `PM_SPLAT_NODE` compilation error in for loops (#13597)</title>
<updated>2025-06-12T15:33:10+00:00</updated>
<author>
<name>Ufuk Kayserilioglu</name>
<email>ufuk.kayserilioglu@shopify.com</email>
</author>
<published>2025-06-12T15:33:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5ec9a392cdf7f971221dc073dd466bce877d8acb'/>
<id>5ec9a392cdf7f971221dc073dd466bce877d8acb</id>
<content type='text'>
[Bug #21439] Fix PM_SPLAT_NODE compilation error in for loops

This commit fixes a crash that occurred when using splat nodes (*) as
the index variable in for loops. The error "Unexpected node type for
index in for node: PM_SPLAT_NODE" was thrown because the compiler
didn't know how to handle splat nodes in this context.

The fix allows code like `for *x in [[1,2], [3,4]]` to compile and
execute correctly, where the splat collects each sub-array.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21439] Fix PM_SPLAT_NODE compilation error in for loops

This commit fixes a crash that occurred when using splat nodes (*) as
the index variable in for loops. The error "Unexpected node type for
index in for node: PM_SPLAT_NODE" was thrown because the compiler
didn't know how to handle splat nodes in this context.

The fix allows code like `for *x in [[1,2], [3,4]]` to compile and
execute correctly, where the splat collects each sub-array.</pre>
</div>
</content>
</entry>
<entry>
<title>Correctly set node_id on iseq location</title>
<updated>2025-01-08T01:08:43+00:00</updated>
<author>
<name>Aaron Patterson</name>
<email>tenderlove@ruby-lang.org</email>
</author>
<published>2025-01-08T00:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=63723c8d5908569918fb27e070ae5bc9de33c8bd'/>
<id>63723c8d5908569918fb27e070ae5bc9de33c8bd</id>
<content type='text'>
The iseq location object has a slot for node ids.  parse.y was correctly
populating that field but Prism was not. This commit populates the field
with the ast node id for that iseq

[Bug #21014]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The iseq location object has a slot for node ids.  parse.y was correctly
populating that field but Prism was not. This commit populates the field
with the ast node id for that iseq

[Bug #21014]
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #21006] Fix defined_expr compilation of method call with parenth… (#12518)</title>
<updated>2025-01-06T20:06:02+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2025-01-06T20:06:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8fb17f86d7ef2a84f82c83a9509e311a07aa93fc'/>
<id>8fb17f86d7ef2a84f82c83a9509e311a07aa93fc</id>
<content type='text'>
[Bug #21006] Fix defined_expr compilation of method call with parenthesized receiver</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21006] Fix defined_expr compilation of method call with parenthesized receiver</pre>
</div>
</content>
</entry>
<entry>
<title>Allow escaping from ensures through next</title>
<updated>2025-01-06T18:18:22+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2025-01-06T01:42:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=31905d9e23ec6d1fa2a52f1ef2533f2056e7c9fb'/>
<id>31905d9e23ec6d1fa2a52f1ef2533f2056e7c9fb</id>
<content type='text'>
Fixes [Bug #21001]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes [Bug #21001]
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle defined? with call chains with blocks</title>
<updated>2024-12-26T22:34:58+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2024-12-26T21:24:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c859e15875a8448592d6ab6d503681d454020c29'/>
<id>c859e15875a8448592d6ab6d503681d454020c29</id>
<content type='text'>
Ensures we can handle expressions like `defined?(a {}.b)`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ensures we can handle expressions like `defined?(a {}.b)`.
</pre>
</div>
</content>
</entry>
<entry>
<title>[PRISM] Treat it as a local when compiling patterns</title>
<updated>2024-12-20T13:19:57+00:00</updated>
<author>
<name>Matt Valentine-House</name>
<email>matt@eightbitraptor.com</email>
</author>
<published>2024-12-20T09:52:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e8d393c8ae0c6282262b7a7886947379a9fd81a3'/>
<id>e8d393c8ae0c6282262b7a7886947379a9fd81a3</id>
<content type='text'>
Fixes [Bug #20973]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes [Bug #20973]
</pre>
</div>
</content>
</entry>
<entry>
<title>[PRISM] Fix compiling popped opt_str_uminus and opt_str_freeze</title>
<updated>2024-12-20T13:19:09+00:00</updated>
<author>
<name>Kazuki Yamaguchi</name>
<email>k@rhe.jp</email>
</author>
<published>2024-12-20T06:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0397bfa2c83f442cb46dd0219d30c52aa7ff6d16'/>
<id>0397bfa2c83f442cb46dd0219d30c52aa7ff6d16</id>
<content type='text'>
Put a pop as needed. This example currently causes [BUG]:

	$ ruby --parser=prism -e'1.times{"".freeze;nil}'
	-e:1: [BUG] Stack consistency error (sp: 15, bp: 14)
	ruby 3.4.0dev (2024-12-20T00:48:01Z master 978df259ca) +PRISM [x86_64-linux]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Put a pop as needed. This example currently causes [BUG]:

	$ ruby --parser=prism -e'1.times{"".freeze;nil}'
	-e:1: [BUG] Stack consistency error (sp: 15, bp: 14)
	ruby 3.4.0dev (2024-12-20T00:48:01Z master 978df259ca) +PRISM [x86_64-linux]
</pre>
</div>
</content>
</entry>
<entry>
<title>[PRISM] Recurse use_deconstructed_cache in Alternation Nodes</title>
<updated>2024-12-17T15:13:53+00:00</updated>
<author>
<name>Matt Valentine-House</name>
<email>matt@eightbitraptor.com</email>
</author>
<published>2024-12-17T12:13:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=86cf18e01e8be1db6194b7cb27357150998d9056'/>
<id>86cf18e01e8be1db6194b7cb27357150998d9056</id>
<content type='text'>
This fixes the behavioural difference between Prism and parse.y when
evaluating the following code

```ruby
1 in [1 | [1]]
```

Fixes [Bug #20956]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the behavioural difference between Prism and parse.y when
evaluating the following code

```ruby
1 in [1 | [1]]
```

Fixes [Bug #20956]
</pre>
</div>
</content>
</entry>
</feed>
