bugs.ruby
今週は String 周りでメソッドを追加するチケットの話などがありました。 前回のまとめ [Feature #18564] Add Exception#detailed_message [Feature #18438] Add Exception#additional_message to show additional error information で議論した結果をまとめ…
今週はパターンマッチでインスタンス変数で値を束縛できるようにする話です。 [Feature #18408] Allow pattern match to set instance variables パターンマッチでインスタンス変数への束縛を許容したいチケット 現状はパターンマッチでインスタンス変数に対…
今週は CRuby を WASI に対応する変更がマージされました。 前回のまとめ [Feature #18462] Proposal to merge WASI based WebAssembly support CRuby を WASI に対応するチケット WASI は WebAssembly をブラウザではなくて OS で動かすための共通のプラッ…
今週はレシーバに定義されている定数名とその値の Hash を返すメソッドの提案がありました。 前回のまとめ [Bug #18475] Yielding an element for Enumerator in another thread dumps core 以下のコードを実行すると segv するというバグ報告 def run Threa…
あけましておめでとうございます。 今年も引き続き書いていきたいと思います。 今週は Refinement 周りの便利メソッドが追加されたり匿名な * ** 引数をフォワードする機能がマージされました。 前回のまとめ [Feature #18460] implicit self for .() syntax…
一人 bugs.ruby Advent Calendar 2021 25日目の記事になります。 今日で Advent Calendar も最後という事で今回は今年みた Ruby のバグをいくつか紹介してみようと思います。 またこれから紹介する修正済みのバグは Ruby 3.1 ではなくて古い Ruby でもバック…
一人 bugs.ruby Advent Calendar 2021 24日目の記事になります。 今日は Ruby 3.1 で入る予定の Hash の値の省略記法で意図しない挙動がある話しです。 [Bug #18396] An unexpected "hash value omission" syntax error when without parentheses call expr …
今週は Ruby 3.1 で Class.descendants が Revert されたりしました。 前回のまとめ [Feature #14394] Class.descendants .descendants はレシーバが『継承されている』クラスの一覧を返すメソッドの追加の提案 class A; end class B < A; end class C < B; …
一人 bugs.ruby Advent Calendar 2021 23日目の記事になります。 今日は Psych が 4.0.0 にメジャーアップデートすることで非互換になる話です。 [Bug #17866] Incompatible changes with Psych 4.0.0 Psych.load を Psych.safe_load に置き換える PR がマー…
一人 bugs.ruby Advent Calendar 2021 22日目の記事になります。 今日は ! 単項演算子を send で呼び出す時の話です。 [Bug #18246] send does not work for unary ! operator when operator isn't a literal symbol ! 単項演算子を send で呼び出すとエラー…
一人 bugs.ruby Advent Calendar 2021 21日目の記事になります。 今日は prepend の挙動がちょっと変わる話です。 [Bug #17423] Prepend should prepend a module before the class Ruby 3.0 では継承リスト周りの処理が色々と改善されました。 が、結果 #pr…
一人 bugs.ruby Advent Calendar 2021 20日目の記事になります。 今日は Hash リテラルでキーが重複したときの話です。 [Bug #17719] Irregular evaluation order in hash literals Hash リテラルでキーが重複している場合に以下のような評価順になります。 …
一人 bugs.ruby Advent Calendar 2021 19日目の記事になります。 今日はバックトレースに引数情報も追加する話です。 [Feature #17743] Show argument types in backtrace バックトレースに引数情報も追加する提案です。 例えば以下のようなコードを実行する…
一人 bugs.ruby Advent Calendar 2021 18日目の記事になります。 今日は Time.at のパフォーマンスが遅くなった話です。 [Bug #18293] Time.at in master branch was 25% slower then Ruby 3.0 Time.at が 3.0.2 と 3.1.0-dev と比較して 25% 遅くなったとい…
一人 bugs.ruby Advent Calendar 2021 17日目の記事になります。 今回はメソッドオブジェクトに対してアクセシビリティの情報を取得するメソッドの話です。 [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object.…
今週は {Method,UnboundMethod}#{public?,private?,protected?} が追加されました。 前回のまとめ [Bug #18405] Regression in Struct member setter method parameters Struct の最適化をした際にデグレしているというバグ報告 S = Struct.new(:foo) S.inst…
一人 bugs.ruby Advent Calendar 2021 16日目の記事になります。 今日はArray に prepend してる #[] が呼び出されないバグの話です。 [Bug #17571] prependしたArray#[] が反映されない 以下のように Array に prepend してる #[] が呼び出されないことがあ…
一人 bugs.ruby Advent Calendar 2021 15日目の記事になります。 今日は同名のメソッドと変数を定義した状態の話です。 [Misc #18125] A strange behavior when same name variable/method coexist issue. 次のように同名のメソッドと変数を定義した時に奇妙…
一人 bugs.ruby Advent Calendar 2021 14日目の記事になります。 今日はエンドレスメソッド定義の本体が statement だった場合にエラーになる話です。 [Feature #17398] SyntaxError in endless method 以下のようにエンドレスメソッド定義の本体が statemen…
一人 bugs.ruby Advent Calendar 2021 13日目の記事になります。 Struct の keyword_init: をデフォルトで有効にするというチケットです。 [Feature #16806] Struct#initialize accepts keyword arguments too by default Struct の keyword_init: をデフォ…
一人 bugs.ruby Advent Calendar 2021 12日目の記事になります。 今回は特定の条件下で NoMethodError#message がパフォーマンス的にコストがかかる話です。 [Misc #18285] NoMethodError#message uses a lot of CPU/is really expensive to call NoMethodEr…
一人 bugs.ruby Advent Calendar 2021 11日目の記事になります。 今回は obj.instance_exec(..., &proc_obj) と同じ意味の Proc#bind_call(obj) を追加する話です。 [Feature #18276] Proc#bind_call(obj) same as obj.instance_exec(..., &proc_obj) obj.in…
一人 bugs.ruby Advent Calendar 2021 10日目の記事になります。 load メソッドに Module を渡せるようにする事でそのモジュール内で load された定義が追加できるように提案する話です。 [Feature #6210] load should provide a way to specify the top-lev…
今週は import_methods に C拡張で定義されたモジュールを渡せないバグ報告などがありました。 前回のまとめ [Bug #18396] An unexpected "hash value omission" syntax error when without parentheses call expr follows Ruby 3.1 では Hash の省略記法が…
一人 bugs.ruby Advent Calendar 2021 9日目の記事になります。 public / private / protected の戻り値をレシーバから引数を返すようにする提案です。 [Feature #12495] Make "private" return the arguments again, for chaining public / private / prote…
一人 bugs.ruby Advent Calendar 2021 8日目の記事になります。 今回は freeze されている事を明示化する Immutable モジュールの提案です。 [Feature #18035] Introduce general model/semantic for immutable by default. Immutable モジュールで freeze …
一人 bugs.ruby Advent Calendar 2021 7日目の記事になります。 今回は { x:, y: } を { x: x, y: y } のショートハンドにする提案です。 [Feature #14579] Hash value omission { x:, y: } を { x: x, y: y } のショートハンドにする提案です。 これ以外に…
一人 bugs.ruby Advent Calendar 2021 6日目の記事になります。 今回は複数の end を ends という1つのキーワードで定義できるようにしようという提案です。 [Feature #17786] Proposal: new "ends" keyword 複数の end を ends という1つのキーワードで定義…
一人 bugs.ruby Advent Calendar 2021 5日目の記事になります。 今回はキーワード引数にキーワードを割り当てたい話。 [Feature #17785] Allow named parameters to be keywords 次のようにキーワード引数に『言語のキーワード』を指定すると参照するのが難…
一人 bugs.ruby Advent Calendar 2021 4日目の記事になります。 今回は 8進数リテラルについて議論するチケットです。 [Misc #18150] Proposal: Deprecate leading zero syntax to declare octals, since it's extremely confusing (and Python 3 removed it…