2021-01-01から1年間の記事一覧
去年に引き続いて技術的な話ではなくて今年読んで面白かったマンガの紹介をします。 ちなみに今年は kindle で880冊読みました。 1日に2冊以上読んでる計算になるけどそんなに読んでる気はしないんですがねえ。 宝石の国 宝石を擬人化したかわいいキャラクタ…
今年も無事にクリスマスに Ruby がリリースされました! Ruby 3.1.0 リリース NEWS Ruby 3.1 で追加される機能などは以下のスライドで紹介しているので気になる人は読んでみてください。 Ruby 3.1 に備えよう! by @pink_bangbi Ruby 3.1 へ移行するときの注…
一人 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 …
Rubyist近況 Advent Calendar 2021 23日目の記事になります。 近状ということでこの記事では今年の活動履歴をまとめてみたいと思います。 Burikaigi2021 今年の1月に Burikaigi2021 というイベントがあり、そこで Ruby 2.0 ~ Ruby 3.0 でどう移り変わってい…
今週は 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…
一人 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 2日目の記事になります。 今回はブロック構文に in を使ったガード節を追加する提案です。 [Feature #17576] P…