Issue #20350 has been updated by byroot (Jean Boussier).
`Symbol#name` returns frozen string. It is not enough?
It doesn't work well with duck typing. It's common to have a method that call
`to_s` on the argument, and the argument can be a Symbol or another type:
```ruby
def some_method(arg)
arg = arg.to_s
# do things
end
```
We can debate the merits of such design of course, but from my experience it's
extremely common. Years after `Symbol#name` introduction, `Symbol#to_s` remains visible on
production profiles, and running
https://github.com/Shopify/symbol-fstring/ still provide
a small, but noticeable improvement.
----------------------------------------
Feature #20350: Return chilled string from Symbol#to_s
https://bugs.ruby-lang.org/issues/20350#change-107915
* Author: Dan0042 (Daniel DeLorme)
* Status: Open
----------------------------------------
During Ruby 2.7 development there was an attempt to return a frozen string from
Symbol#to_s (#16150#note-22)
This had to be rolled back due to incompatibility, but now we have chilled strings
(#20205)
Symbol#to_s can safely return a chilled string, giving developers time to fix warnings
before switching to a frozen string.
--
https://bugs.ruby-lang.org/