Skip to content

key a table held in a struct field by the type and the field - #83

Merged
rikvanriel merged 1 commit into
facebookexperimental:mainfrom
rikvanriel:scratch/riel/series-d-field-arrays
Aug 28, 2026
Merged

key a table held in a struct field by the type and the field#83
rikvanriel merged 1 commit into
facebookexperimental:mainfrom
rikvanriel:scratch/riel/series-d-field-arrays

Conversation

@rikvanriel

Copy link
Copy Markdown
Contributor

.demod_attach = { demod_attach_stv0900, cineS2_probe } installs a table the struct holds, and info->demod_attach[i](chan) dispatches through it. Neither half was recorded against anything the other could find: a positional list inside a designated field was skipped, and the site had no container because the array has no name of its own.

Key both by the type and the field. A field holds one table per struct type, and the type alone would collide with every other struct having a field of that name:

registrations   ngene_info.demod_attach  []  demod_attach_stv0900
dispatch site   ngene_info.demod_attach  []

Over the kernel that is 5,385 rows across 241 fields, of which 120 name a function; the rest are lists of enum constants, which look identical here and are told apart by the reader, as they are for every other registration. 40 field-keyed sites exist and 2 of those tables have an implementor recorded.

A base the file does not declare still yields no key. A guessed one joins with whatever else guessed the same way.

Assisted-by: claw:claude-opus-5

`.demod_attach = { demod_attach_stv0900, cineS2_probe }` installs a table the
struct holds, and `info->demod_attach[i](chan)` dispatches through it. Neither
half was recorded against anything the other could find: a positional list
inside a designated field was skipped, and the site had no container because
the array has no name of its own.

Key both by the type and the field. A field holds one table per struct type,
and the type alone would collide with every other struct having a field of
that name:

    registrations   ngene_info.demod_attach  []  demod_attach_stv0900
    dispatch site   ngene_info.demod_attach  []

Over the kernel that is 5,385 rows across 241 fields, of which 120 name a
function; the rest are lists of enum constants, which look identical here and
are told apart by the reader, as they are for every other registration. 40
field-keyed sites exist and 2 of those tables have an implementor recorded.

A base the file does not declare still yields no key. A guessed one joins with
whatever else guessed the same way.

Assisted-by: claw:claude-opus-5
Signed-off-by: Rik van Riel <[email protected]>
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Aug 28, 2026
@rikvanriel
rikvanriel merged commit 473de03 into facebookexperimental:main Aug 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant