Project

General

Profile

Actions

Feature #21269

closed

Opt in to raise for modification of chilled strings returned from `Symbol#to_s`

Added by Earlopain (Earlopain _) 4 months ago. Updated 4 months ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:121672]

Description

Ref https://bugs.ruby-lang.org/issues/20350

begin
  :foo.to_s << "bar"
  puts "ok sym"
rescue
  puts "fail sym"
end

begin
  "foo" << "bar"
  puts "ok str"
rescue
  puts "failed str"
end

Output with RUBYOPT="--enable=frozen-string-literal -W":

test.rb:2: warning: string returned by :foo.to_s will be frozen in the future
ok sym
failed str

--enable=frozen-string-literal does something for string literals, I would like the same for Symbol#to_s. I would suggest simply reusing --enable=frozen-string-literal but its name seems very clear about being about string literals, which doesn't really fit for what's going on with symbols here.

For convenience, it would be very nice to have just a single switch for this though.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0