バージョンバッジ算出の誤りを {: since=""} / {: since="X"} で補正する#3256
Merged
Conversation
{: since=""}(明示的に不明=バッジ非表示)と {: since="X"} を原稿で使う
ための更新。rurema/bitclust#274 マージ後の master を指す。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
rurema/bitclust#274 で解禁された {: since=""}(明示的に不明=バッジ非表示) を属性表に追加し、値の説明にも空値の意味を補う。メソッド自体は昔から あるのに記載が後から追加され、自動算出が記載時期を初出として誤表示する 場合の抑止用(例: Array#collect は 2.4.0 のドキュメント凍結後に記載が 追加されたため「Ruby 2.5.0 から」と誤算出されていた)。 refs rurema/bitclust#132 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bitclust#132: 全10凍結版の DB 初出一覧と当時の ruby ソース(v1_8_7〜 v2_7_0 + v1_9_1_0/v1_9_2_0)の突き合わせで、メソッド自体は古くから あるのに記載が後から追加されて算出バッジが誤っているエントリを補正する。 最終リストは本番 DB の算出値(since_by_name)との突き合わせで確定した (59 エントリ・95 属性行): - since="" — ruby v1_8_7 のソースで定義を確認したもの。現在 「Ruby 1.9.3 から」「Ruby 2.5.0 から」等と誤表示されているバッジを 抑止する(Enumerable 経由で 1.8 から呼べた Array#any? を含む) - since="1.9.1" — v1_9_1_0 で存在を確認したもの(現表示 1.9.3〜2.5.0) - since="1.9.3" — 1.9.1/1.9.2 に無く 1.9.3 で確認した ARGF の write 系 対象外(算出値が既に正しい): Array#filter(2.6)・ARGF.class#inspect (2.0 の alias 追加)など。また String#each_byte 系・Hash#merge!・ Range#include?・GC.stress=・$stderr・Fixnum#abs は、1.8.7 の DB に 別名グループの一員として名前が記録されており算出が既に floor(バッジ 非表示)と判定しているため、付けずに済ませた。 refs rurema/bitclust#132 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
znz
force-pushed
the
c-since-badge-corrections
branch
from
July 21, 2026 23:32
ccdf652 to
09ff9a6
Compare
This was referenced Jul 23, 2026
znz
added a commit
that referenced
this pull request
Jul 24, 2026
key?/include?/member?/each/each_pair/each_key/each_value/keys/values/
size/length は Ruby 2.1 で、inspect は 2.0.0 で導入されたが、
ドキュメントの追加が 3.0 世代だったため、凍結 DB(2.7.0 以前)には
エントリが無く、since バッジが「Ruby 3.0 から」と誤表示されていた
(tools/method-versions/mismatch-report.md の db-late 分類)。
凍結 DB は再生成されないため、明示 {: since=} で補正する(#3256 と
同方式)。値は実測(tools/method-versions/matrix.tsv)による。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
znz
added a commit
that referenced
this pull request
Jul 24, 2026
メソッド単位 since バッジは DB 上の初出版から自動計算されるため、 ドキュメント追加が実際の導入より遅いと、バッジが実際より遅い版を 表示する(tools/method-versions/mismatch-report.md の db-late 分類)。 凍結 DB(2.7.0 以前)は再生成されないため、#3256 と同方式で明示 {: since=} 属性により補正する。 - {: since=""}(バッジ非表示)…昔から public な継承メソッドで呼び出せた エントリ(Array#all?/max、Range#to_a、各クラスの inspect/==/hash 等)。 #3256 の collect/any? と同じ方針 - 実値付き …クラス自体の導入(Complex/Rational=1.9.1 等)や機能新設 (positive?/negative?=2.3.0、deconstruct=2.7.0 等)がゲートになるもの。 全値を旧版 Ruby(all-ruby)実機で呼び出し確認済み トリアージで修正不要と確定した 8 件(private 継承の誤検出 3・既存 ゲートの帰結 2・Complex#<=> の undef 1・要人間判断 2)と、 explicit-wrong 4 件が誤検出だった訂正を mismatch-report.md に追記。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
バージョンバッジの誤算出 — メソッド自体は古くからあるのにリファレンスへの記載が後から追加され、記載時期が初出として表示されるケース(rurema/bitclust#132 で報告の
Array#collect「Ruby 2.5.0 から」問題)— を、rurema/bitclust#274 で解禁された{: since=""}(不明の明示=バッジ非表示)と{: since="X"}(真の版の明示)で一括補正します。3 コミット構成です。since=""の行と空値の説明を追記since=""× 41 エントリ: ruby v1_8_7 のソースで定義を確認し、かつ現在の本番 DB で誤ったバッジが算出されているもの(例:Array#collect/map= array.c:3803/3805 で現表示「Ruby 2.5.0 から」。Enumerable 経由で 1.8 から呼べたArray#any?も C 再定義の 2.2 ではなくこちらに分類)since="1.9.1"× 11: v1_9_1_0 で確認(Dir.exists?・Symbol#match・Enumerator::Yielder#<</#yield・ARGF の encoding 系ほか。現表示 1.9.3〜2.5.0 を真値へ)since="1.9.3"× 7: ARGF の write 系(1.9.1/1.9.2 には無いことを確認。現表示 2.0.0)Array#filter(2.6 追加)・Fixnum#magnitude(1.9 系)・ARGF.class#inspect(2.0 の alias 追加)= 同じエントリ内でも算出値が正しい別名には付けず、名前単位で補正String#each_byte/each_char/each_line/lines・Hash#merge!・Range#include?・GC.stress=・$stderr・Fixnum#absは、1.8.7 の凍結 DB に別名グループの一員として名前が記録されている(例:$stderrは$deferrエントリのnames=deferr,stderr)ため算出が既に floor = バッジ非表示と判定しており、明示は冗長検証
collect=,map=(空)・select=のみ(filter=無し)・to_s=のみ・match=1.9.1・$stderr空などを確認bitclust methodsinceを適用しても明示値が上書きされないこと、描画でArray#collect= バッジ 0・Symbol#match= 「Ruby 1.9.1 から」になることを確認refs rurema/bitclust#132
🤖 Generated with Claude Code