Skip to content

Code Analysis Lifetime Combined

Tu Shaokun edited this page Nov 8, 2026 · 2 revisions

Rust lifetime navigation in the cumulative six-language candidate

Snapshot: 8 November 2026. Draft #1279, head 996e073ded7b99cbe885fbc4afab5d125412f6c1, is the thirteenth layer in native stack #1262, above Java #1273. It composes original parent 196dd3569efba785d456a6dd0825ea6ebdf489bf with independently owned Rust #1277 / 915d528e584a6343ab79284bd274ed11762cf9c9 in merge 4e684e4911e8ad001b39d472976eb89925862235. All twelve lower published heads and PR membership are unchanged. Independent #1277 stays above #1270; original authors/commits/PR ownership are retained.

Labs remains bf0a29e7664f52973d06a8e6a608df2db1ecbd39; preserved #1252 remains 93378351dc97768fd7e0882a50f32ecc7a34e2a6. In Labs: no for these new capabilities; validated in Draft: yes, within the individual language bounds. No approval, formal merge, release or live installation occurred.

One real investigation

At regex 9870c06e6c772daaad7ab612faab29130753e41c, the cumulative #1273 CLI stops at TranslatorI::new in regex-syntax/src/hir/translate.rs:174:25. The source implementation exists at 685:5; the owner has lifetime parameters. An actual new #1273 baseline replay records 0 correct / 3 missed / 0 wrong, with two trait Visitor unknowns. The composed candidate reaches all three frozen constructors, preserving the distinct ast/hir HeapVisitor::new targets, with 3 correct / 0 missed / 0 wrong and the same two unknowns. Lifetime/argument applicability, borrow checking, trait/runtime dispatch and complete impact still lack evidence.

Fixed inputs, original source answers/corrections, reproducible drivers and receipts. Corpora were previously exposed, not new blind samples. The initial real-version Go/Rust acceptance stays attributed to its original commits. The owned Rust changed-body integration is synthetic and is not described as an upstream change.

Shared contract and actual replay

The conflict resolution retains Rust4 beside Java5 declared-project/ancestor evidence and JS/TS5 forwarding provenance. Rust extractor bytes match #1277; other language extractor bytes match #1273. Existing source-range, metadata freshness, normal and paired question contracts are reused. No new parser, dependency or semantic rule is introduced by composition.

Nine original all-language recipes plus ten recent Rust/Java/TS contracts ran through each normal source and extracted ZIP CLI. 96 commands per distribution, 32 raw captures byte-identical, 63 full investigation payloads equal, normalizing installation/output paths only; 170 packaged module files match source. Actual saved Rust1/2/3 and Java4 captures keep their original models without rebinding. Fixed upstream roots, target locations, source ranges, build/cfg/test scope, coverage, reasons and snapshot identities remain compared. Generated owned-pair/changed-metadata roots are under the output directories.

Selected current results remain separate: Rust lifetime 3 correct + 2 unknown; older specialized Map 10 profile observations over 5 physical sites + 4 unknown; Java parent 4 correct; Java project 4 correct + 1 external unknown (two newly supported Simple→API sites and two existing preservation sites); TS forwarding 4 correct + 1 unknown. Overlapping samples/profile counts must not be summed. Independent compiler/LSP audits retain original PR/runtime/profile attribution and were not rerun for this composition.

Expected nonzero CLI states remain visible: original Go/JS/Rust paired partial investigations exit1; the real Java 99e356974859a4cac2f5e533de2d8232d9d5dbe6 → 1c13755b2520e511bc41b5c6fdc8bd6c58e529c0 added-definition migration stays partial/exit1; stale POM evidence exits1/unavailable; missing Cargo/rustc exits2 with extract/rust-unavailable. No analyzed project is executed.

Validation states

  • Local module: 410/410, zero skips.
  • Extracted shared contract tests: 74/74, zero skips. An initial command only ran the Rust file because two filenames were incorrect; the corrected explicit six-file command supplies this acceptance.
  • Canonical package/release gates: 63 passes / 2 environment skips (noncanonical-toolchain rejection on canonical Node, Windows drive paths on macOS).
  • Packaging: official Node22.23.3 / bundled zlib1.3.1-e00f703; two builds identical. ZIP SHA256 bb2f38587109acd1b73e97d58ce987b8db56af0c9ad58988665340e668286e4b, 7,596,031 bytes. Toolchains/caches reused; fresh installation cost not measured.
  • Remote final-head CI: run42442200073 completed success at 996e073ded7b99cbe885fbc4afab5d125412f6c1. Actual analysis job128613639512 executed 410/410, zero skips. All executed full/browser/ZIP/WebM/website/three-OS package/Windows portability checks passed; deployment jobs skipped. Local/package results remain separate.
  • Actual state: Draft, unmerged; no release or installation. Contributor personal AI-review confirmation remains unchecked.

The old Python import report carries the symbolic label HEAD in both distributions. The immutable merge/parents, unchanged module bytes and matched packaged bytes establish the actual producer; the label is not used as immutable provenance. The Redux real-pair harness gained its missing CLI argv receipt and that family was actually rerun in both distributions, preserving initial attempts separately.

Remaining work

Go interface/value dispatch, external or workspace/build contexts outside the captured profile; Rust traits/macros/unsupported generic or lifetime applicability; Python longer/rebound/conditional API chains; JS/TS runtime/factory flow and unsupported exports; Java unsupported Maven/Gradle/profile/classpath and overload/virtual dispatch remain explicit boundaries. Prioritize actual wrong targets, then source-known misses and interrupted investigations in fixed real projects. The language capability table distinguishes original Labs support, newer Draft validation and unsupported semantics. The persistent six-language goal remains active.

Clone this wiki locally