
Issue #20857 has been updated by byroot (Jean Boussier).
there have failed to build 127 out of 528 packages.
Could you share the package names and failures? I think it's an important data point. Personally as stated on https://bugs.ruby-lang.org/issues/20433 I really love this change, and after fixing various applications and libraries, there wasn't any failed test I thought was really legitimate in using `Hash#inspect` to make assertions. Of course this is going to create quite a bit of churn, so I'd understand if it was reverted or more limited on that basis. But I don't think the "compatibility" argument is sound, because it doesn't make sense to assume that an API that is meant for debugging (`#inspect`) would guarantee a stable output forever. Otherwise that means we can't ever improve user experience related to it. ---------------------------------------- Bug #20857: Don't change `Hash#inspect` formatting https://bugs.ruby-lang.org/issues/20857#change-110311 * Author: vo.x (Vit Ondruch) * Status: Assigned * Assignee: matz (Yukihiro Matsumoto) * ruby -v: ruby 3.4.0dev (2024-10-15 master 3da3cabf98) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- Testing Ruby 3.4 in Fedora, I just hit issue like this in AsciiDoctor test suite: ~~~ 1) Failure: Minitest::Test::TestExtensions::TestIntegration#test_should_assign_captures_correctly_for_inline_macros [test/extensions_test.rb:1382]: --- expected +++ actual @@ -1,9 +1,9 @@ "target=\"\", attributes={} -target=\"value,key=val\", attributes={1=>\"value\", \"key\"=>\"val\", \"name\"=>\"value\"} -target=\"\", attributes={\"text\"=>\"\"} -target=\"[text]\", attributes={\"text\"=>\"[text]\"} +target=\"value,key=val\", attributes={1 => \"value\", \"key\" => \"val\", \"name\" => \"value\"} +target=\"\", attributes={\"text\" => \"\"} +target=\"[text]\", attributes={\"text\" => \"[text]\"} target=\"target\", attributes={} -target=\"target\", attributes={1=>\"value\", \"key\"=>\"val\", \"name\"=>\"value\"} -target=\"target\", attributes={\"text\"=>\"\"} -target=\"target\", attributes={\"text\"=>\"[text]\"} +target=\"target\", attributes={1 => \"value\", \"key\" => \"val\", \"name\" => \"value\"} +target=\"target\", attributes={\"text\" => \"\"} +target=\"target\", attributes={\"text\" => \"[text]\"} target=\"target\", attributes={}" ~~~ This suggest that `Hash#inspect` formatting was changed and there are additional spaces around hash rocket. Is the space really worth of the troubles? BTW [here](https://github.com/asciidoctor/asciidoctor/issues/4634#issuecomment-24494974...) is AsciiDoctor upstream reaction and I share the sentiment. -- https://bugs.ruby-lang.org/