ruby-trunk-changes 2022-10-23

今日は主に Complex.polar の引数に Complex を1つだけ渡した時の不具合修正などがありました。

[0d9628e0de] Nobuyoshi Nakada 2022-10-23 03:46:13 UTC

Complex.polar の引数に Complex を渡すテストでチェック内容を増やしています。

[54cad3123a] Stephen Ierodiaconou 2022-10-23 03:59:06 UTC

Complex.polar で引数に Complex をひとつだけ渡した時に実数部(real)の成分のみ存在していことはチェックしつつ nucomp_s_new_internal() でそのまま使ってしまっていたので結果の Complex の実数部が Complex になってしまっていたのを修正しています。 [ruby-core:109879] [Bug #19004]

[c8c136265c] "S.H" 2022-10-23 07:17:24 UTC

hash.c の hash_foreach_iter() と hash_ar_foreach_iter() からコールバック関数の戻り値をチェックする部分を hash_iter_status_check() という関数に切り出して再利用するリファクタリング

[86450d03a8] Nobuyoshi Nakada 2022-10-23 04:42:36 UTC

complex.c で数値オブジェクトが虚数部を持つ Complex でないことを確認する nucomp_real_check() でチェックするだけでなく Complex だったら実数部だけ抜き出した値を返すように変更して呼び元で再度チェックと変換しなくて済むようにしています。

re.c の rb_memsearch_wchar() と rb_memsearch_qchar() から文字のサイズ部分の差異だけ引数に切り出した rb_memsearch_with_char_size() という関数を切り出すリファクタリング

1e06ef1328880bf39a7e6d757678be619c21f0c1 の re.c のリファクタリングで文字サイズの指定のための enum を導入していたのを削除して int 型で指定するように修正しています。