[ruby-core:120307] [Ruby master Bug#20966] Unary plus String warns about freezing
From:
"alanwu (Alan Wu) via ruby-core" <ruby-core@...>
Date:
2024-12-18 23:42:22 UTC
List:
ruby-core #120307
Issue #20966 has been updated by alanwu (Alan Wu).
Status changed from Open to Rejected
`+"\x1f\x8b".force_encoding("BINARY")` is parsed as
`+( "\x1f\x8b".force_encoding("BINARY") )` and the warning is coming from `force_encoding`.
Try `(+"\x1f\x8b").force_encoding("BINARY")` or `"\x1f\x8b".+@().force_encoding("BINARY")`.
A way to see the order is with ruby/debug:
```shell
$ rdbg -e 'trace call' -e 'c' test.rb
[1, 2] in test.rb
=> 1| Warning[:deprecated] = true
2| _ = +"a".force_encoding("BINARY")
=>#0 <main> at test.rb:1
(rdbg:commands) trace call
Enable CallTracer (enabled)
(rdbg:commands) c
DEBUGGER (trace/call) #th:1 #depth:2 > Warning.[]= at test.rb:1
DEBUGGER (trace/call) #th:1 #depth:2 < Warning.[]= #=> true at test.rb:1
DEBUGGER (trace/call) #th:1 #depth:2 > String#force_encoding at test.rb:2
DEBUGGER (trace/call) #th:1 #depth:3 > Warning#warn at test.rb:2
test.rb:2: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)
DEBUGGER (trace/call) #th:1 #depth:3 < Warning#warn #=> nil at test.rb:2
DEBUGGER (trace/call) #th:1 #depth:2 < String#force_encoding #=> "a" at test.rb:2
DEBUGGER (trace/call) #th:1 #depth:2 > String#+@ at test.rb:2
DEBUGGER (trace/call) #th:1 #depth:2 < String#+@ #=> "a" at test.rb:2
```
----------------------------------------
Bug #20966: Unary plus String warns about freezing
https://bugs.ruby-lang.org/issues/20966#change-111073
* Author: getajobmike (Mike Perham)
* Status: Rejected
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
```
/Users/mperham/src/sidekiq/test/profiling_test.rb:49: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)
```
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- [email protected]
To unsubscribe send an email to [email protected]
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/