It’s unexpected for #to_hash to not return a hash, e.g. AwesomePrint checks and uses #to_hash to inspect hash-convertible objects, as noted in an AwesomePrint issue.
Ruby core even expects Hash from #to_hash:
> Hash.try_convert(ActiveRecord::Base.connection.select_all("select * from users limit 1;"))
TypeError: can't convert ActiveRecord::Result to Hash (ActiveRecord::Result#to_hash gives Array)
#to_ary already exists, meaning users of ActiveRecord::Result#to_hash should really be using ActiveRecord::Result#to_a
Deleted my double-posted message, also just to add for clarity: My suggestion is to deprecate/remove the ActiveRecord::Result#to_hash method, replacing all instances with #to_a or Array.wrap(result).
According to the linked guidelines for contributing @ Github/rails/rails, I should wait for positive feedback here before submitting an issue, but it also suggest that I “start writing code”. Does this mean that I should open a pull request, or does this mean I should continue waiting for feedback?