<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Fix UnboundMethod#== for methods from included/extended modules [Backport #21873]</title>
<updated>2026-03-07T05:41:17+00:00</updated>
<author>
<name>Mike Dalessio</name>
<email>mike@37signals.com</email>
</author>
<published>2026-02-10T17:10:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0097b87b1e2c6aa60489527e421e8bf2e2791d69'/>
<id>0097b87b1e2c6aa60489527e421e8bf2e2791d69</id>
<content type='text'>
Method#unbind clones the method entry, preserving its defined_class.
For methods mixed in via include/extend, defined_class is an ICLASS,
causing UnboundMethod#== to return false when comparing against the
same method obtained via Module#instance_method.

Resolve ICLASS defined_class in method_eq.

[Bug #21873]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Method#unbind clones the method entry, preserving its defined_class.
For methods mixed in via include/extend, defined_class is an ICLASS,
causing UnboundMethod#== to return false when comparing against the
same method obtained via Module#instance_method.

Resolve ICLASS defined_class in method_eq.

[Bug #21873]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad: [Backport #21819]</title>
<updated>2026-01-25T08:47:37+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d5ca99a71ccb170db08e4b610d661ce3a18626f2'/>
<id>d5ca99a71ccb170db08e4b610d661ce3a18626f2</id>
<content type='text'>
	[PATCH] [Bug #21819] Data objects without members should also be frozen
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21819] Data objects without members should also be frozen
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 19e539c9ee1701b34189fa0c1feb942adeb0e326: [Backport #21814]</title>
<updated>2026-01-25T08:41:02+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8fa17ea3b2c857369c808a4384ff7ff8174d69f8'/>
<id>8fa17ea3b2c857369c808a4384ff7ff8174d69f8</id>
<content type='text'>
	[PATCH] [Bug #21814] Fix negative bignum modulo

	If modulo is zero, do not  apply bias even if the divisor is zero.
	`BIGNUM_POSITIVE_P` is true even on bignum zero.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21814] Fix negative bignum modulo

	If modulo is zero, do not  apply bias even if the divisor is zero.
	`BIGNUM_POSITIVE_P` is true even on bignum zero.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 86320a53002a3adaf35ad7434c70e86747a8b345: [Backport #21326] [Backport #21807]</title>
<updated>2026-01-25T08:20:48+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T08:12:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=55920677854fe757c36368785f6dfdbce0b49ab7'/>
<id>55920677854fe757c36368785f6dfdbce0b49ab7</id>
<content type='text'>
	[PATCH] Fix compilation for forwarding params in Prism

	[Bug #21326]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Fix compilation for forwarding params in Prism

	[Bug #21326]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) f430fbbfacea5690d790dd9060ca4118431fc2fb, c353b625297162024b5a80480664e599dd49a294: [Backport #21787]</title>
<updated>2026-01-25T07:37:10+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=45100545b056792fb5701a93abd1f78259a6224e'/>
<id>45100545b056792fb5701a93abd1f78259a6224e</id>
<content type='text'>
	[PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear`

	[PATCH] [Bug #21787] IO::Buffer: Check addition overflows

	https://hackerone.com/reports/3437743
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear`

	[PATCH] [Bug #21787] IO::Buffer: Check addition overflows

	https://hackerone.com/reports/3437743
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 9168cad4d63a5d281d443bde4edea6be213b0b25: [Backport #21266]</title>
<updated>2025-12-16T23:53:40+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-12-16T23:53:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d8f087b581735ec250b8671c3574fa4d5b16ae54'/>
<id>d8f087b581735ec250b8671c3574fa4d5b16ae54</id>
<content type='text'>
	[PATCH] YJIT: Bail out if proc would be stored above stack top

	Fixes [Bug #21266].
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] YJIT: Bail out if proc would be stored above stack top

	Fixes [Bug #21266].
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 1e7cf7b2bc1f9b356b2e980e1e18548618da6363: [Backport #21446]</title>
<updated>2025-12-16T23:51:44+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-12-16T23:51:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7edff469e14541a480a6156efc1cc6e3b526e7bd'/>
<id>7edff469e14541a480a6156efc1cc6e3b526e7bd</id>
<content type='text'>
	[PATCH] Fix refinement modification of method visibility in superclass

	Previously, this didn't work correctly, resulting in a
	SystemStackError. This fixes the issue by finding the related
	superclass method entry, and updating the orig_me in the
	refinement method to point to the superclass method.

	Fixes [Bug #21446]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Fix refinement modification of method visibility in superclass

	Previously, this didn't work correctly, resulting in a
	SystemStackError. This fixes the issue by finding the related
	superclass method entry, and updating the orig_me in the
	refinement method to point to the superclass method.

	Fixes [Bug #21446]
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix allocationless anonymous splat keyword argument check</title>
<updated>2025-12-12T16:56:50+00:00</updated>
<author>
<name>Jeremy Evans</name>
<email>code@jeremyevans.net</email>
</author>
<published>2025-12-03T01:34:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=88f1d98676d435a79e2086ed8054b459f1b4bd2a'/>
<id>88f1d98676d435a79e2086ed8054b459f1b4bd2a</id>
<content type='text'>
Previously, if an argument splat and keywords are provided by
the caller, it did not check whether the method/proc accepted
keywords before avoiding the allocation. This is incorrect,
because if the method/proc does not accept keywords, the
keywords passed by the caller are added as a positional
argument, so there must be an allocation to avoid mutating
the positional splat argument.

Add a check that if the caller passes keywords, the
method/proc must accept keywords in order to optimize.
If the caller passes a keyword splat, either the
method/proc must accept keywords, or the keyword splat must
be empty in order to optimize.

If keywords are explicitly disallowed via `**nil`, the
optimization should be skipped, because the array is mutated
before the ArgumentError exception is raised.

In addition to a test for the correct behavior, add an
allocation test for a method that accepts an anonymous splat
without keywords.

Fixes [Bug #21757]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, if an argument splat and keywords are provided by
the caller, it did not check whether the method/proc accepted
keywords before avoiding the allocation. This is incorrect,
because if the method/proc does not accept keywords, the
keywords passed by the caller are added as a positional
argument, so there must be an allocation to avoid mutating
the positional splat argument.

Add a check that if the caller passes keywords, the
method/proc must accept keywords in order to optimize.
If the caller passes a keyword splat, either the
method/proc must accept keywords, or the keyword splat must
be empty in order to optimize.

If keywords are explicitly disallowed via `**nil`, the
optimization should be skipped, because the array is mutated
before the ArgumentError exception is raised.

In addition to a test for the correct behavior, add an
allocation test for a method that accepts an anonymous splat
without keywords.

Fixes [Bug #21757]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 0b0da6c4b26f80ad6985722d3fc0f5cdee09125d: [Backport #21648]</title>
<updated>2025-12-08T23:03:34+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-12-08T23:03:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d0b778cd19fdda858121d8f2405da2768603c9b1'/>
<id>d0b778cd19fdda858121d8f2405da2768603c9b1</id>
<content type='text'>
	[PATCH] Correctly compile splats in for-loop index in prism

	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>
	[PATCH] Correctly compile splats in for-loop index in prism

	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>merge revision(s) f4f728b319086eea3db6e9909fb9c849c276f813: [Backport #21680]</title>
<updated>2025-12-08T22:44:48+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-12-08T22:44:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fe8221af30768cbd15409d4cc52b2bb18e91667e'/>
<id>fe8221af30768cbd15409d4cc52b2bb18e91667e</id>
<content type='text'>
	[PATCH] [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)

	Fix wrong condition in base multiplying loop.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)

	Fix wrong condition in base multiplying loop.
</pre>
</div>
</content>
</entry>
</feed>
