Repository navigation
Declare the imports 77 files already use (transitive-closure bindings made explicit; zero binding change) - #12782
Merged
Merged
Conversation
… transitive import closure) Adds the explicit import each file needs for a name it uses but never imported, and which reached it only because an imported module itself imports the declaring module. Each added import names the ONE declaration the transitive pick already bound: the declarer inside the file's import closure. Receipt, whole corpus (gunbc compile --source-root dag --source-root src/v2 --target dag, main's seed, this tree versus its own base): 0 new diagnostics, blocking or advisory. The only removals are 39 'unlisted import use' and 2 'unlisted variant value use' advisories, the ones a declared import should silence. So no binding changes. This lands before the declared-scope resolver change (the bare-name candidate set becomes the module's own names plus its explicit imports, never the transitive closure), shrinking that PR to readers, leak removal and the old joins. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…iders (ends_with, LiveTreeDisposition) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…rtsFixed (the file now imports v2.std.live_tree) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Sep 30, 2026
…12782's Cons/Empty and S3's slot-scan names) Co-Authored-By: Claude Opus 5.5 (1M context) <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.
The first of the two PRs quiet-gull-780 ruled for the transitive-pick defect (
gunbc.recurring_failure_modean_import_turns_an_ambiguous_bare_name_into_a_transitive_pick, bold-bat-516). It lands before the declared-scope resolver change, so that change shrinks to readers, leak removal and the old joins.What it does
It adds, to 77 files, the explicit import for a name each file uses but never imported. Those names reached the file only because an imported module itself imports the declaring module. Each added import names the one declaration the transitive pick already bound: the declarer inside the file's own import closure. Where the file already imported the module, the names were merged into its brace list.
Receipt: zero binding change
Whole corpus:
gunbc compile --source-root dag --source-root src/v2 --target dag --repository gunbc --measured-root-demands tools/whole_corpus_compile_measured_root_demands.json, with main's seed, on this tree against its own base (df9cda7). Diagnostics were compared by file and message, positions stripped, because added lines shift them.unlisted import useand 2unlisted variant value useadvisories, exactly the warnings a declared import silences.Where it came from
The census compared main's seed with a seed carrying only the declared-scope change. The declared-scope seed produced 722 new blocking diagnostics. This PR discharges the import-gap part. What remains goes to the transition or to separate lists:
variant Cons/Empty not found in type Listpersists even withstd.algebra { Cons, Empty }imported. The checker re-resolves the alias's variants in the consumer scope, the same class asoperand_declaration_of_typeonSourceSpan.start: Int. The transition moves those readers toNode.declaration.dag/gunbc/instruments/self_host_logic_behavioral_transport.dagBuildFailed:v2.compiler.self_host.promotion_admissionversusv2.std.verdict. Not papered over here.split,fold,map,sort_byindag/extdeps/tools/sha256sum,dag/gunbc/devboot/{build,produce},dag/gunbc/host/host_hygiene_{liveness,reaper}_observe,dag/gunbc/product/fabric/contention,dag/gunbc/superseded_run_starvation_census,src/v2/compiler/04_infer,src/v2/std/compilers/body_lowering;RulesetListed/RulesetUnreadable,MtJadeRev1_0,GoogleCloudInteractiveAuthenticationRequired,DeriveGrammarRelationTokensProgress.🤖 Generated with Claude Code