Make _RecordPreparer generic - #1396
Open
myronmarston wants to merge 1 commit into
Open
myronmarston wants to merge 1 commit into
myronmarston wants to merge 1 commit into
Conversation
Collaborator
Author
|
This change is part of the following stack: Change managed by git-spice. |
This was referenced Sep 18, 2026
myronmarston
added this pull request to stack #1399
September 18, 2026 18:43
myronmarston
force-pushed
the
myron/generic-record-preparer
branch
from
September 18, 2026 19:31
359bb05 to
2ba01fb
Compare
myronmarston
removed this pull request from stack #1399
September 18, 2026 19:44
myronmarston
added this pull request to stack #1401
September 18, 2026 19:49
This was referenced Sep 18, 2026
myronmarston
force-pushed
the
myron/generic-record-preparer
branch
from
September 18, 2026 20:06
2ba01fb to
07e7d49
Compare
myronmarston
force-pushed
the
myron/generic-record-preparer
branch
from
September 18, 2026 21:19
07e7d49 to
a3895ad
Compare
myronmarston
force-pushed
the
myron/generic-record-preparer
branch
from
September 18, 2026 23:46
a3895ad to
60cd1aa
Compare
myronmarston
force-pushed
the
myron/generic-record-preparer
branch
from
September 20, 2026 01:03
60cd1aa to
94826f7
Compare
myronmarston
marked this pull request as ready for review
September 20, 2026 02:18
myronmarston
requested review from
BrianSigafoos-SQ,
bsorbo,
ellisandrews-toast,
jwils,
jwondrusch,
marcdaniels-toast and
rossroberts-toast
as code owners
September 20, 2026 02:18
- Parameterize _RecordPreparer over the record type R, so a future non-Hash ingestion format can have its own preparer without an untyped escape hatch on the interface itself. - Update RecordPreparer, RecordPreparer::Identity, and every caller to use _RecordPreparer[untyped] until a concrete record type exists. Generated with Claude Code
myronmarston
force-pushed
the
myron/generic-record-preparer
branch
from
September 20, 2026 04:57
94826f7 to
92cf214
Compare
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.
Why
A record preparer only handles records of the ingestion format it serves. The interface declared a method-level generic (
[T < ::Object]), so any caller could pass any record type and get the same type back. That signature cannot express the relation between a preparer and its format, and it gives no protection when a format with a non-Hashrecord type is added.What
_RecordPreparer[R], whereprepare_for_indextakes and returnsR.RecordPreparer,RecordPreparer::Identity, and each caller use_RecordPreparer[untyped]until a concrete record type exists.RBS only. No runtime change.
🤖 Generated with Claude Code