<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/object.c, 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>[DOC] Tweaks for Object#&lt;=&gt;</title>
<updated>2025-12-21T19:05:38+00:00</updated>
<author>
<name>Burdette Lamar</name>
<email>BurdetteLamar@Yahoo.com</email>
</author>
<published>2025-12-21T19:05:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2d69facd2093ed9e51a6e10f8234c4fda07ef6f1'/>
<id>2d69facd2093ed9e51a6e10f8234c4fda07ef6f1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Tweaks for Module#&lt;=&gt;</title>
<updated>2025-12-20T23:12:56+00:00</updated>
<author>
<name>BurdetteLamar</name>
<email>burdettelamar@yahoo.com</email>
</author>
<published>2025-12-20T22:57:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7c1e37cfe13cf2df21e4ca23c91f5a53c81bc062'/>
<id>7c1e37cfe13cf2df21e4ca23c91f5a53c81bc062</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Harmonize lt methods</title>
<updated>2025-12-19T00:21:00+00:00</updated>
<author>
<name>Burdette Lamar</name>
<email>BurdetteLamar@Yahoo.com</email>
</author>
<published>2025-12-19T00:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b14f2f0116e6eccbfff57edae1283b3c53247752'/>
<id>b14f2f0116e6eccbfff57edae1283b3c53247752</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Assume result from allocator will be valid</title>
<updated>2025-12-11T17:53:10+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-12-06T07:32:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=459c377222e746a5e39756bf5d648d16893e831c'/>
<id>459c377222e746a5e39756bf5d648d16893e831c</id>
<content type='text'>
This adds a fastpath in class_call_alloc_func to simply return if the
class matches the one expected.

I think we could probably just remove this check, or move it to the debug
build.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a fastpath in class_call_alloc_func to simply return if the
class matches the one expected.

I think we could probably just remove this check, or move it to the debug
build.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle NEWOBJ tracepoints settings fields</title>
<updated>2025-12-03T07:14:56+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-11-25T14:06:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8c3909935e2ba9f79bf3492772c77c305a0d370b'/>
<id>8c3909935e2ba9f79bf3492772c77c305a0d370b</id>
<content type='text'>
[Bug #21710]

- struct.c: `struct_alloc`

It is possible for a `NEWOBJ` tracepoint call back to write fields
into a newly allocated object before `struct_alloc` had the time
to set the `RSTRUCT_GEN_FIELDS` flags and such.

Hence we can't blindly initialize the `fields_obj` reference to `0`
we first need to check no fields were added yet.

- object.c: `rb_class_allocate_instance`

Similarly, if a `NEWOBJ` tracepoint tries to set fields on the object,
the `shape_id` must already be set, as it's required on T_OBJECT to
know where to write fields.

`NEWOBJ_OF` had to be refactored to accept a `shape_id`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21710]

- struct.c: `struct_alloc`

It is possible for a `NEWOBJ` tracepoint call back to write fields
into a newly allocated object before `struct_alloc` had the time
to set the `RSTRUCT_GEN_FIELDS` flags and such.

Hence we can't blindly initialize the `fields_obj` reference to `0`
we first need to check no fields were added yet.

- object.c: `rb_class_allocate_instance`

Similarly, if a `NEWOBJ` tracepoint tries to set fields on the object,
the `shape_id` must already be set, as it's required on T_OBJECT to
know where to write fields.

`NEWOBJ_OF` had to be refactored to accept a `shape_id`.
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Tweaks for Module#&lt;=&gt;</title>
<updated>2025-11-29T01:27:35+00:00</updated>
<author>
<name>Burdette Lamar</name>
<email>BurdetteLamar@Yahoo.com</email>
</author>
<published>2025-11-29T01:27:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=005fba0713947a8241b7560ec4a6f052f49067c0'/>
<id>005fba0713947a8241b7560ec4a6f052f49067c0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Define Kernel#instance_variables_to_inspect</title>
<updated>2025-11-28T17:34:59+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-11-28T15:17:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=191bfcb9c505ba3f5771f7ac67d6131aeb6b6837'/>
<id>191bfcb9c505ba3f5771f7ac67d6131aeb6b6837</id>
<content type='text'>
[Bug #21718]

Otherwise objects that don't define it, but define a fairly liberal
`method_missing` method will run into errors that are hard to understand:

```ruby
class Foo
  def method_missing(name, ...)
    name
  end
end

p Foo.new.inspect
```

```
'Kernel#inspect': wrong argument type Symbol (expected Array) (TypeError)
	from ../test.rb:7:in '&lt;main&gt;'
```
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21718]

Otherwise objects that don't define it, but define a fairly liberal
`method_missing` method will run into errors that are hard to understand:

```ruby
class Foo
  def method_missing(name, ...)
    name
  end
end

p Foo.new.inspect
```

```
'Kernel#inspect': wrong argument type Symbol (expected Array) (TypeError)
	from ../test.rb:7:in '&lt;main&gt;'
```
</pre>
</div>
</content>
</entry>
<entry>
<title>Reorganize page documentations (#15154)</title>
<updated>2025-11-27T20:12:24+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2025-11-27T20:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4cd6661e1853930c8002174c4ccd14f927fcd33b'/>
<id>4cd6661e1853930c8002174c4ccd14f927fcd33b</id>
<content type='text'>
Re-organize page docs</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Re-organize page docs</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Call instance allocation function directly</title>
<updated>2025-09-17T21:27:35+00:00</updated>
<author>
<name>Max Bernstein</name>
<email>ruby@bernsteinbear.com</email>
</author>
<published>2025-09-17T20:53:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bacb687fd768c48b6042b1c0486a757915ad5eca'/>
<id>bacb687fd768c48b6042b1c0486a757915ad5eca</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Prevent custom allocator in ObjectAllocClass</title>
<updated>2025-09-17T21:27:35+00:00</updated>
<author>
<name>Max Bernstein</name>
<email>ruby@bernsteinbear.com</email>
</author>
<published>2025-09-17T20:04:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=88e0ac35a3b6f66074307421b208db62ae5ffe39'/>
<id>88e0ac35a3b6f66074307421b208db62ae5ffe39</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
