Skip to content

Generics & variance, algebraic-effect handlers, and documentation comments#167

Merged
MelbourneDeveloper merged 10 commits into
mainfrom
generix
Jul 12, 2026
Merged

Generics & variance, algebraic-effect handlers, and documentation comments#167
MelbourneDeveloper merged 10 commits into
mainfrom
generix

Conversation

@MelbourneDeveloper

Copy link
Copy Markdown
Collaborator

Summary

Large feature branch landing three language subsystems plus tooling/CI hardening. All CI checks were run locally and pass (see below).

  • Generics & variancecrates/osprey-types/src/variance.rs, crates/osprey-ast/src/generics.rs, crates/osprey-codegen/src/effect_generics.rs; spec docs/specs/plan 0015-generics-and-variance.md. New must-reject cases in examples/failscompilation/variance_* and generic_effect_*.
  • Algebraic effects & handlerscrates/osprey-ast/src/resume.rs and handler/resume codegen; plan 0016-algebraic-effects-and-handlers.md. Reject cases multishot_resume_rejected, resume_in_arm_lambda.
  • Documentation comments — flavor-neutral doc model crates/osprey-ast/src/doc.rs + parser crates/osprey-syntax/src/docparse.rs; spec 0026-DocumentationComments.md, plan 0018-documentation-comments.md.
  • New tested examplesfiber/fiber_determinism, fiber/fiber_exact_replica, basics/json/json_document_query (.osp/.ospml twins), registered in the example manifest.
  • Duplication gate — extracted a shared osprey_ast::walk_each collection-walker (backing the freevars/effects/analysis visitors), a store_tag helper in aggregate.rs, nested/map_of_kind lowering helpers; .deslop.toml gate held at 6.10% with genuine dedup (measured 6.06%).

Test plan (run locally, in CI order)

  • cargo fmt --all --check, cargo clippy --workspace --all-targets -- -D warnings — clean
  • cargo build --release --workspace, cargo test --workspace — 0 failures
  • Differential golden harness — PASS=142 FAIL=0 NOEXP=0, FC_OK
  • npm run test:shipwright — manifest valid
  • make lint — deslop 6.10% (ok); make test — all crates over coverage thresholds, extension 95.13%; make build
  • Example smoke (comprehensive_math, feature_omnibus) — pass
  • WASM: _runtime_wasm + compile/validate/smoke + diff_wasm_examples.shPASS=47 FAIL=0 SKIP=26
  • Website Playwright E2E — 76 passed
  • Web-compiler test.sh — pass (run against a locally-started server; the Docker daemon was unavailable on the prep host, so the container-packaging layer will be exercised by CI)

Note: ci-windows.yml is Windows-only and was not runnable on the macOS prep host; the workspace build/clippy/test it depends on all pass here.

@MelbourneDeveloper
MelbourneDeveloper merged commit 0f1c1b5 into main Jul 12, 2026
6 checks passed
@MelbourneDeveloper
MelbourneDeveloper deleted the generix branch July 12, 2026 09:12
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