Repository navigation
fix(p4): select default ASTs without enumerating all preferred candidates - #261
Open
opaopa6969 wants to merge 7 commits into
Open
opaopa6969 wants to merge 7 commits into
opaopa6969 wants to merge 7 commits into
Conversation
This branch has not been deployed
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.
Classicの既定AST選択でも全preferred候補を列挙していたため、正常なx64ベンチマーク入力が候補上限4,096を超えて拒否されていました。既存の単一選択APIで一度mapし、そのowned AST内に残る全文範囲のwrapperを使って、従来のimplicit候補順・mode・identity・CP位置を維持します。
明示preferredは従来のinventory経路と上限を維持します。旧generatorで必要なAPIが存在しない場合だけ互換経路を使い、実行失敗を別mappingや再parseで隠しません。Tiny #256のcanonical投影と合成し、文法・memo方針・資源上限は変更しません。
検証:
0a968462と上流統合de53a229を専用Maven repositoryで合成。Rust全119件・Clippy/fmt成功。Java対象473件はfail/error 0、通常実行でskip9件。layoutを明示有効化して別途1件成功したため、異なるテストでは465成功/既存ignore8(型未解決multi-method4、手動speed4)。skipを成功件数に含めません。共有fraud30観測は成功、measurement_eligible=false。この上流統合SHAは公開artifactではありません。PR #260のCI修正を取り込んだ最終HEAD
354d02baは、固定依存bee36381 /3.3.0で再検証しました。snapshot6件、bounded mapper49件、実Java LSP47件(新しい共通29入力の診断を含む)、Rust共有大入力1件がfailure/error/skip/ignored 0です。Maven artifactの実hashとLSPの実classpathを照合しました。CI workflowは0a968462からbyte不変です。JS診断・共通fixture・Rust製品は935d75a3とbyte同一で、その実Wasmの29入力検証を保持します。この追加検証を前段のde53での広範囲回帰と区別しています。上限を緩める代わりに既定要求で不要な列挙を除く最小の変更を選びました。全体性能期限は共有hostのこの結果だけで完了にしません。
依存順:Tiny PR #260 と上流 opaopa6969/unlaxer-parser#682 のmerge後に本PRをmergeします。専用CIの候補source成功は、上流が既にmasterやCentralへ公開済みという意味ではありません。既存CIの依存pinは変更していません。
Closes #259
歴史依存と新しい上限検証の契約を分離
現HEAD
419d275fdd9fb2f96af5ec5ebd9899f67475e525。従来parserを使う通常CIで、新しいbounded inventoryの拒否を必須にしていたテスト設定を修正しました。通常互換検証は328入力のAST/位置/選択modeと固定12拒否を照合し、capを許す入力も既知の大入力2種類だけに限定します。新しいP4BoundedMappingConformanceは固定bee依存の専用CIで明示実行し、324比較+4cap拒否・両大入力のE-MAPPING-LIMITを厳密に検証します。専用CIの件数・失敗・skip検査にも追加済みです。製品コード、資源上限、旧依存pin、通常CIジョブは変更していません。fc75/3.3.0-SNAPSHOTの通常49件とbee/3.3.0の専用検証を含む51件が失敗/skip 0。厳格2件を旧依存で意図的に実行すると、期待件数とcap拒否の欠落により両方が失敗する負検証も確認しました。actionlint成功。Maven依存は別々の専用repoで固定しJAR hashを照合しています。Rust製品/fixtureは前回検証sourceと同一で、Rust再実行は今回の主張に含みません。
履歴互換と新契約をそれぞれ検証する最小のtest/CI修正を選択しました。本PR単位でrevertできます。parser #682 merge、現HEADの全CI成功、Tiny側mergeはまだ必要です。