Repository navigation
Rows 2+3 packets: Optional carrier fork + NonEmptyStr renderer residue root-cause (materialization_carriers, no hot-emitter edits) - #8548
Closed
gunbai-bot[bot] wants to merge 1 commit into
Conversation
…erer residue Row 2 "Optional carrier fork" splits into three sub-mechanisms (2a/2b/2c), verified by execution against origin/main a2b33f5: 2a/2c are bare zero-field-variant identifier collisions resolved wrong upstream in 04_infer.dag (contextual_variant_parent_absent in 05_emit_rust.dag is correct given its inputs); 2b is an apparent .dag-level typecheck gap on List.first()'s cardinality vs a declared non-optional return type. Row 3's 3 residual E0425 NonEmptyStr sites (PR #8528 confirmed OPEN/unmerged, so all 5 original sites remain) trace to 04_infer.dag losing a caller's authored closed-alias return-type identity when the body is a bare point-free reference to another function -- the same alias renders correctly when the body is an ordinary expression (decisive differential: parse_table_memo_id renders CacheInterfaceId; its point-free caller parse_table_memo_provider_id does not). render_rust_fn_sig_type's leaf-preservation guard is confirmed correct and simply not reached. No hot-emitter edits: src/v1/05_emit_rust.dag and src/v1/04_infer.dag were read-only for this investigation, per explicit session scope (heavy concurrent contention from PR #8528 and the T7/row-1a/1b lanes). Co-Authored-By: Claude Sonnet 5 <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.
Summary
Root-cause-only doc (no repair) for
materialization_carriers.dagerror-board Rows 2 and 3.Measured against
origin/maina2b33f577a48b13e305440bae41d90406e8b4b7d, re-checked for driftagainst current
origin/main073bbd4e08a40a01082c61896a2f2806d683c6c2(no touch to the relevantfiles in between). PR #8528 confirmed OPEN/unmerged at measurement time, so Row 3 carries all 5
of its original sites.
E0308sites) splits into three sub-mechanisms, not one:std_cache_interface.rs:638) and 2c (extdeps_uri.rs:752,756): a bare zero-field-variantidentifier (
None/Absent) resolves to the wrong parent enum because an unrelated domaincoproduct in the same closure happens to declare a variant with the same name.
contextual_variant_parent_absent(src/v1/05_emit_rust.dag) is confirmed correct given itsinputs; the wrong
resolved_typeis fed to it from upstream in04_infer.dag.std_cache_interface.rs:695,699,703): three functions declare a non-optional return typewith a body ending in cardinality-optional
List.first();gunbc compilereports 0 blockingerrors, only rustc catches it — an apparent
.dag-level typecheck gap.E0425NonEmptyStrsites): traced via a decisive differential — thesame closed brand alias (
CacheInterfaceId) renders correctly when a function's body is anordinary expression, but loses its alias identity to the base type (
NonEmptyStr) when thebody is a bare point-free reference to another function.
render_rust_fn_sig_type'sleaf-preservation guard (
rust_fn_sig_preserves_authored_alias_leaf) is confirmed correct andsimply never reached for these three sites — the loss happens in
04_infer.dag's unification ofa declared return annotation against a point-free body.
Scope boundary — no hot-emitter edits
src/v1/05_emit_rust.dagandsrc/v1/04_infer.dagwere read-only for this investigation and areuntouched by this branch, per explicit session scope: both files are under heavy concurrent
contention from other in-flight sessions (PR #8528, the T7/row-1a/1b lanes). This PR is
documentation only — one new file under
docs/probes/.Test plan
origin/mainviadocs/probes/curated_cargo_probe_one.sh, not transcribed from prior docs.gh pr view 8528 --json state,mergedAtchecked directly (OPEN,mergedAt: null).🤖 Generated with Claude Code