Repository navigation
Declare <T> on the 6 generic fns that used an undeclared type parameter (native broker 1C) - #13276
Merged
gunbai-bot[bot] merged 1 commit intoOct 4, 2026
Conversation
json.parse json_field_value/json_field_cause, docker container_inspect nested_value/nested_causes, mtjade1_access_observation read_cause, mtcollins1_boot_diagnostic_bundle members_channel each used T without a <T>, resolving only through the module-scope leak of a generic type's parameters. The Rust emitter renders only declared parameters, so each emitted as a generic fn without its type parameter (E0425 'cannot find type T'). Each T is the fresh parameter of the reading type it consumes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
briansrls
approved these changes
Oct 4, 2026
briansrls
left a comment
Contributor
There was a problem hiding this comment.
LAND on code. Each helper's T is the fresh parameter carried by its JsonFieldRead/NestedObjectRead/MembersReading input, so declaring <T> on the function is the honest source repair under both today's leaked module scope and the intended declaration-local scope. This removes the six emitter E0425 sites without depending on #13265's scoping change or inventing a renderer exception. Exact-head CI is still running and the branch currently needs main integration, so this approval does not assert queue readiness.
gunbai-bot
Bot
deleted the
session/snappy-wolf-524-explicit-type-params
branch
October 4, 2026 15:59
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.
Native broker 1C. gentle-dove-36 split this out of #13265 so the broker-relevant half can land now. #13265 (the scoping and the deletion of the implicit-name list) stays held behind derived-node-identity step 2.
Six generic functions used
Twithout declaring<T>. They resolved only because a generic type declaration's parameters leak into module scope. The Rust emitter renders only declared parameters, so each one emitted as a generic function without its type parameter (E0425: cannot find type T). That is one of the broker closure's emitter blockers.extdeps.languages.json.parsejson_field_value,json_field_causeextdeps.docker.container_inspectnested_value,nested_causesgunbc.machine_intake.mtjade1_access_observationread_causegunbc.machine_intake.mtcollins1_boot_diagnostic_bundlemembers_channelEach
Tis the fresh parameter of the generic reading type it consumes. A declared parameter is correct under today's scoping as well, so this change does not expose the name-lookup instantiation path that #13265 surfaced.Checked:
gunbc compile --entry dag/extdeps/languages/json/parse.dag --target rustnow emitspub fn json_field_value<T: Clone>(...)andpub fn json_field_cause<T: Clone>(...), with 0 blocking diagnostics.The census showing these 6 are the whole population is on #13265.
This is a source-only change, with no emitter or mirror edits.
🤖 Generated with Claude Code