Skip to content

feat: add typed Result and ownership-safe propagation - #35

Open
fffonion wants to merge 7 commits into
feat/generic-typed-frontendsfrom
subagent/result-guest-sdk-3b540b21
Open

fffonion wants to merge 7 commits into
feat/generic-typed-frontendsfrom
subagent/result-guest-sdk-3b540b21

Conversation

@fffonion

Copy link
Copy Markdown
Collaborator

Summary

  • Add typed Result<T, E>, Ok/Err, exhaustive destructuring and lexical ? propagation, preserving active-payload ownership and cleanup.
  • Integrate the explicit guest Result host SDK, macro/catalog contracts, current v13 wire consumers, diagnostics/type hints/formatting, wasm consumers and executable documentation.
  • Close the final diagnostic-provenance and HTTP retirement regressions: argument-qualified canonical rejection, preserved independent ownership checks, and one private original-native-join completion owner shared by buffered HTTP and SSE.

Stack

Depends on #33. Base is feat/generic-typed-frontends at 47cac633cde1f9cb67607141e0a6cfe9103ca4a468, not master. The published merge joins accepted SDK/R2 integration 0fe8343256481c435929e4cc90b36da730144544 with language-service commit 5d65a8553c6a3b697906447024ab2cfba3f48b7c and the reviewed final R4 changes.

Verification

All 36 required local R4 intents have current source-bound successful receipts on the reviewed candidate:

  • Default workspace: 2631 passed, 0 failed (15 ignored, 14 filtered).
  • All-feature normal-parallel and serial: 2826 passed, 0 failed each (15 ignored, 45 filtered).
  • Strict Clippy, formatting, applicable no-runtime/no-std checks, actual wasm32 builds and six exported wasm ABI lanes.
  • Native payload 60, resource-lifetime 6 and AOT SSA/runtime 18 observations; macro UI 19 negative and 3 positive cases.
  • Real buffered normal/reset native-tail RED-to-GREEN; complete buffered serial/parallel repetitions and four complete normal-parallel SSE runs. Additional parent precommit HTTP and SDK/propagation gates passed.
  • Two product-documentation tests passed. The runnable doctest inventory is zero; a successful docs command is not counted as executed doctests.

The full reviewed eligible source bytes were compared directly with the committed Git objects. Independent whole-change and scoped Grok spec/quality reviews have no remaining delivery blocker. Historical failed/interrupted attempts remain separate from final-source passes.

Exact-head CI for 7906820cd472e6f7a606f0a2d257f4a3b71cffed is in progress: https://github.com/rustscript-lang/rustscript/actions/runs/39099423490 . Local source validation and review do not certify that pending run or close the downstream SDK/ES5 dependency barrier.

Retained boundaries

  • VMBC remains the selected current v13 contract; no new Value variant, opcode or JS-specific Core semantics.
  • Trace resource move helpers and Err cleanup Ret may use interpreter boundaries. Existing StringGet/Tagged-arithmetic refusals and the extra unhinted AOT Add limitation remain explicit.
  • Cost evidence is shared-host debug characterization (144 samples), not isolated release throughput or a zero-cost claim.
  • Existing no-std resource-cleanup and diagnostic-extent qualifications, plus nonblocking review advisories, remain documented.
  • ES5.1 frontend work and its later exception integration are separate scopes.

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