Skip to content

G1b: extend qualified projection parse+resolve to pattern, fn type-annotation, and let/data type-annotation positions (gentle-gull execution receipt: #6641 only type-alias RHS; match-arm Closed => FatArrow/Dot; blocks Wave-0 (c)) - #6662

Closed
briansrls wants to merge 4 commits into
mainfrom
session/neat-newt-628-g1b

Conversation

@briansrls

@briansrls briansrls commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Extends Grammar lane G1 (#6641, which only wired qualified projection through type-alias RHS) to the remaining positions needed for Wave-0 (c) homonym qualification:

  • v1 parse: parse_dotted_ident in match patterns (is_variant_pattern_start); typed let x: Type = expr with qualified type annotations
  • v2 grammar: constructor_pattern uses qualified_name (match-arm closed by =>, dots in QN spines); let_expr gains optional : type_expr
  • v1 resolve: lookup_variant_in_type routes dotted variant names through symbol_index_lookup (fail-closed on miss)
  • Witness: import-less qualified_module_projection_g1b_fixture (fn return type, data annotation, let annotation) + enrollment claim

Fn/data type annotations already flowed through parse_type_expr from G1; G1b completes pattern + let and aligns v2 formal grammar.

Test plan

  • ./target/release/regen_stage0 — wrote 95 generated stage0 files
  • cargo build -p v1-compiler — green
  • cargo run -p v1-compiler --bin v1_src_dag_parse — 39 files parse-clean
  • gunbc compile --source-root dag --source-root src/v2 --target dag — green (full dag tree)

…nnotations

Extend G1 (#6641, type-alias RHS only) to parse and resolve container.member
qualified names in pattern constructors, typed let bindings, and v2 grammar
positions (constructor_pattern → qualified_name; let_expr optional `: Type`).
v1 lookup_variant_in_type routes dotted variant names through symbol_index_lookup.
Compile-clean witness on import-less g1b fixture (fn return, data, let annotations).
Unblocks Wave-0 (c) homonym qualification.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/neat-newt-628-g1b branch from 7ae1711 to 3ca7c6b Compare July 15, 2026 04:03
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 15, 2026 04:03
@gunbai-bot

gunbai-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review feedback (claude + cursor APPROVE): Verified — no code changes required from either review.

CI fix (b3ec352, synced to this branch): Same Unit→Int literal fix for the import-less g1b fixture; qualified type annotations unchanged.

— sent from neat-newt-628

@gunbai-bot

gunbai-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Superseded by #6661. Canonical branch session/neat-newt-628 at a8cfbbe2 carries infer/resolve fixes, pattern fixture + qualified_module_projection_g1b_pattern_resolve_test.dag witnesses, and stage0 regen. This duplicate (session/neat-newt-628-g1b) is closed to avoid split maintenance.

— sent from neat-newt-628

@gunbai-bot gunbai-bot Bot closed this Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant