Ruby

2022/01/14 今回の気になった bugs.ruby のチケット

今週はレシーバに定義されている定数名とその値の Hash を返すメソッドの提案がありました。 前回のまとめ [Bug #18475] Yielding an element for Enumerator in another thread dumps core 以下のコードを実行すると segv するというバグ報告 def run Threa…

2022/01/07 今回の気になった bugs.ruby のチケット

あけましておめでとうございます。 今年も引き続き書いていきたいと思います。 今週は Refinement 周りの便利メソッドが追加されたり匿名な * ** 引数をフォワードする機能がマージされました。 前回のまとめ [Feature #18460] implicit self for .() syntax…

Ruby 3.1 がリリースされた!

今年も無事にクリスマスに Ruby がリリースされました! Ruby 3.1.0 リリース NEWS Ruby 3.1 で追加される機能などは以下のスライドで紹介しているので気になる人は読んでみてください。 Ruby 3.1 に備えよう! by @pink_bangbi Ruby 3.1 へ移行するときの注…

【一人 bugs.ruby Advent Calendar 2021】番外編: 今年みた Ruby のバグ報告【25日目】

一人 bugs.ruby Advent Calendar 2021 25日目の記事になります。 今日で Advent Calendar も最後という事で今回は今年みた Ruby のバグをいくつか紹介してみようと思います。 またこれから紹介する修正済みのバグは Ruby 3.1 ではなくて古い Ruby でもバック…

【一人 bugs.ruby Advent Calendar 2021】[Bug #18396] An unexpected "hash value omission" syntax error when without parentheses call expr follows【24日目】

一人 bugs.ruby Advent Calendar 2021 24日目の記事になります。 今日は Ruby 3.1 で入る予定の Hash の値の省略記法で意図しない挙動がある話しです。 [Bug #18396] An unexpected "hash value omission" syntax error when without parentheses call expr …

【Rubyist近況 Advent Calendar 2021】2021年の活動履歴【23日目】

Rubyist近況 Advent Calendar 2021 23日目の記事になります。 近状ということでこの記事では今年の活動履歴をまとめてみたいと思います。 Burikaigi2021 今年の1月に Burikaigi2021 というイベントがあり、そこで Ruby 2.0 ~ Ruby 3.0 でどう移り変わってい…

2021/12/23 今回の気になった bugs.ruby のチケット

今週は 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】[Bug #17866] Incompatible changes with Psych 4.0.0【23日目】

一人 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】[Bug #18246] send does not work for unary ! operator when operator isn't a literal symbol【22日目】

一人 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】[Bug #17423] `Prepend` should prepend a module before the class【21日目】

一人 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】[Bug #17719] Irregular evaluation order in hash literals【20日目】

一人 bugs.ruby Advent Calendar 2021 20日目の記事になります。 今日は Hash リテラルでキーが重複したときの話です。 [Bug #17719] Irregular evaluation order in hash literals Hash リテラルでキーが重複している場合に以下のような評価順になります。 …

【一人 bugs.ruby Advent Calendar 2021】[Feature #17743] Show argument types in backtrace【19日目】

一人 bugs.ruby Advent Calendar 2021 19日目の記事になります。 今日はバックトレースに引数情報も追加する話です。 [Feature #17743] Show argument types in backtrace バックトレースに引数情報も追加する提案です。 例えば以下のようなコードを実行する…

【一人 bugs.ruby Advent Calendar 2021】[Bug #18293] Time.at in master branch was 25% slower then Ruby 3.0【18日目】

一人 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】[Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object.【17日目】

一人 bugs.ruby Advent Calendar 2021 17日目の記事になります。 今回はメソッドオブジェクトに対してアクセシビリティの情報を取得するメソッドの話です。 [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object.…

2021/12/16 今回の気になった bugs.ruby のチケット

今週は {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】[Bug #17571] prependしたArray#[] が反映されない【16日目】

一人 bugs.ruby Advent Calendar 2021 16日目の記事になります。 今日はArray に prepend してる #[] が呼び出されないバグの話です。 [Bug #17571] prependしたArray#[] が反映されない 以下のように Array に prepend してる #[] が呼び出されないことがあ…

【一人 bugs.ruby Advent Calendar 2021】[Misc #18125] A strange behavior when same name variable/method coexist issue.【15日目】

一人 bugs.ruby Advent Calendar 2021 15日目の記事になります。 今日は同名のメソッドと変数を定義した状態の話です。 [Misc #18125] A strange behavior when same name variable/method coexist issue. 次のように同名のメソッドと変数を定義した時に奇妙…

【一人 bugs.ruby Advent Calendar 2021】[Feature #17398] SyntaxError in endless method【14日目】

一人 bugs.ruby Advent Calendar 2021 14日目の記事になります。 今日はエンドレスメソッド定義の本体が statement だった場合にエラーになる話です。 [Feature #17398] SyntaxError in endless method 以下のようにエンドレスメソッド定義の本体が statemen…

【一人 bugs.ruby Advent Calendar 2021】[Feature #16806] Struct#initialize accepts keyword arguments too by default【13日目】

一人 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】[Misc #18285] NoMethodError#message uses a lot of CPU/is really expensive to call【12日目】

一人 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】[Feature #18276] `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`【11日目】

一人 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】[Feature #6210] load should provide a way to specify the top-level module【10日目】

一人 bugs.ruby Advent Calendar 2021 10日目の記事になります。 load メソッドに Module を渡せるようにする事でそのモジュール内で load された定義が追加できるように提案する話です。 [Feature #6210] load should provide a way to specify the top-lev…

2021/12/09 今回の気になった bugs.ruby のチケット

今週は 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】[Feature #12495] Make "private" return the arguments again, for chaining【9日目】

一人 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】[Feature #18035] Introduce general model/semantic for immutable by default.【8日目】

一人 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】[Feature #14579] Hash value omission【7日目】

一人 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】[Feature #17785] Allow named parameters to be keywords【5日目】

一人 bugs.ruby Advent Calendar 2021 5日目の記事になります。 今回はキーワード引数にキーワードを割り当てたい話。 [Feature #17785] Allow named parameters to be keywords 次のようにキーワード引数に『言語のキーワード』を指定すると参照するのが難…

【一人 bugs.ruby Advent Calendar 2021】[Misc #18150] Proposal: Deprecate leading zero syntax to declare octals, since it's extremely confusing (and Python 3 removed it too)【4日目】

一人 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…

【一人 bugs.ruby Advent Calendar 2021】[Bug #10593] Emoji is been considered as comment【3日目】

一人 bugs.ruby Advent Calendar 2021 3日目の記事になります。 #️⃣ 絵文字以降の Ruby のコードがコメントアウトとして扱われてしまうというバグ報告です。 [Bug #10593] Emoji is been considered as comment #️⃣ という絵文字を書いた以降がコメントアウ…

【一人 bugs.ruby Advent Calendar 2021】[Feature #17576] Partial Functions (procs, lambdas)【2日目】

【一人 bugs.ruby Advent Calendar 2021】[Feature #17576] Partial Functions (procs, lambdas)【2日目】 一人 bugs.ruby Advent Calendar 2021 2日目の記事になります。 今回はブロック構文に in を使ったガード節を追加する提案です。 [Feature #17576] P…