2022/06/17 今回の気になった bugs.ruby のチケット
[Bug #18826] Symbol#to_proc inconsistent, sometimes calls private methods
#tap
に&
渡しでメソッドを呼び出す場合にprivate
やprotected
メソッドを呼び出す事ができるバグ報告
class Test protected def referenced_columns puts "hello" end end # protected メソッドを呼び出す事ができる Test.new.tap(&:referenced_columns) # => hello # Symbol#to_proc 経由でも呼び出せる :referenced_columns.to_proc.call Test.new # => hello
:foo.to_proc
はlambda{|t| t.foo}
と等価であるべきという理由から修正される流れになっている
[Bug #18827] __ENCODING__
is not set to the source encoding when saving script lines
p __ENCODING__ # => #<Encoding:UTF-8>
# encoding: euc-jp p __ENCODING__ # => #<Encoding:EUC-JP>
SCRIPT_LINES__
が設定されていた時にこれが無視されるというバグ報告
# -Ke を渡すと #<Encoding:EUC-JP> になる $ ruby -Ke -e 'p __ENCODING__' #<Encoding:EUC-JP> $ cat script_lines.rb SCRIPT_LINES__ = {} # -Ke を渡すと #<Encoding:EUC-JP> になるがそうでない $ ruby -r./script_lines.rb -Ke -e 'p __ENCODING__' #<Encoding:UTF-8>