Project

General

Profile

Actions

Bug #20962

closed

Change in behaviour in 3.4.0rc1 of `Hash#inspect`

Added by aharan (Aidan Haran) about 13 hours ago. Updated about 6 hours ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.4.0rc1 (2024-12-12 master 29caae9991) +PRISM [aarch64-linux]
[ruby-core:120297]

Description

The output from Hash#inspect in v3.4.0rc1 does not match the documentation and is different from v3.3.6.

# ruby -v
ruby 3.4.0rc1 (2024-12-12 master 29caae9991) +PRISM [aarch64-linux]
# irb
irb(main):001> h = {foo: 0, bar: 1, baz: 2}
=> {foo: 0, bar: 1, baz: 2}
irb(main):002> h.inspect
=> "{foo: 0, bar: 1, baz: 2}"
irb(main):003>

The documentation says that the output should be @"{:foo=>0, :bar=>1, :baz=>2}"@ https://github.com/ruby/ruby/blob/707c6420b1ea599c223a17781185c0b6fb0f3518/hash.c#L3492

In Ruby v3.3.6 the output is:

# ruby -v
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [aarch64-linux]
# irb
irb(main):001> h = {foo: 0, bar: 1, baz: 2}
=> {:foo=>0, :bar=>1, :baz=>2}
irb(main):002> h.inspect
=> "{:foo=>0, :bar=>1, :baz=>2}"

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #20433: Hash.inspect for some hash returns syntax invalid representationClosedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0