[ruby-core:120298] [Ruby master Bug#20962] Change in behaviour in 3.4.0rc1 of `Hash#inspect`
From:
"tompng (tomoya ishida) via ruby-core" <ruby-core@...>
Date:
2024-12-18 13:52:21 UTC
List:
ruby-core #120298
Issue #20962 has been updated by tompng (tomoya ishida).
pull request https://github.com/ruby/ruby/pull/12384
----------------------------------------
Bug #20962: Change in behaviour in 3.4.0rc1 of `Hash#inspect`
https://bugs.ruby-lang.org/issues/20962#change-111064
* Author: aharan (Aidan Haran)
* Status: Open
* ruby -v: ruby 3.4.0rc1 (2024-12-12 master 29caae9991) +PRISM [aarch64-linux]
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
The output from `Hash#inspect` in v3.4.0rc1 does not match the documentation and is different from v3.3.6.
<pre>
# 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>
</pre>
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:
<pre>
# 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}"
</pre>
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/