Bug #21302
openRemove or Fix Set#to_h
Description
When backwards-compatible marshalling support for Set was added in 926411171d296859839745a536aa86bc1e18aa76, Set#to_h was added. I'm not sure if intentionally or accidentally (@nobu (Nobuyoshi Nakada) knows). The method is not backwards compatible with the previous Set#to_h method (Enumerable#to_h), so it should be fixed or removed. Since it is a new method added to a core class, it should be officially approved if we want to keep it.
I would prefer removing it. Users that want a true
-valued hash can use to_h { [it, true] }
instead of to_h
. I have submitted a pull request to remove it: https://github.com/ruby/ruby/pull/13247
However, if we want to keep it, we should fix it to be backwards compatible and add tests and documentation. I have submitted a pull request for that as well: https://github.com/ruby/ruby/pull/13248
Updated by byroot (Jean Boussier) 2 days ago
I think you can just remove it. I used it in Pysch because it was there, if it wasn't intended to be added, just remove it and psych will use something else.
Updated by nobu (Nobuyoshi Nakada) 1 day ago
I agree to remove it.