Skip to content

chore - add generated Rust quality gates and async method coverage (#599, #600, #601, #602, #603, #607)#608

Merged
dannymeijer merged 1 commit into
mainfrom
chore/599-603-generated-rust-baselines
May 20, 2026
Merged

chore - add generated Rust quality gates and async method coverage (#599, #600, #601, #602, #603, #607)#608
dannymeijer merged 1 commit into
mainfrom
chore/599-603-generated-rust-baselines

Conversation

@dannymeijer
Copy link
Copy Markdown
Contributor

Summary

Adds the generated Rust quality baseline slice for #599-#603 and folds in the #607 async Rust method boundary fix. The PR adds artifact-level generated Rust fixture baselines, stdlib generated Rust snapshots, a strict generated Rust audit runner/gate, clone/allocation hot-path coverage, and package-facing Rust-hosted callability coverage. It also teaches Rust-backed async methods to type as awaitables until awaited and verifies the emitted call includes .await.

Closes #599
Closes #600
Closes #601
Closes #602
Closes #603
Closes #607

Type of change

  • Bug fix
  • New feature
  • Refactor / maintenance
  • Documentation
  • CI / tooling
  • RFC (adds/updates docs/RFCs/*)

Area(s)

Select the primary areas touched (used for review routing; labels are managed separately):

  • Incan Language (syntax/semantics)
  • Compiler (frontend/backend/codegen)
  • Tooling (CLI/formatter/test runner)
  • Editor integration (LSP/VS Code extension)
  • Runtime / Core crates (stdlib/core/derive)
  • Documentation

Key details

  • User-facing behavior: generated Rust has new regression gates and documentation for auditing its quality; Rust async method calls now keep Awaitable[T] semantics until explicitly awaited.
  • Internals: adds generated artifact, stdlib snapshot, audit, callability, and native-consumer test fixtures; adds make generated-rust-audit-gate; reduces unnecessary generated clone/collection shapes in covered hot paths; extends Rust async metadata handling in typechecking/codegen.
  • Risks: the new gates add fixture maintenance cost and may expose generated Rust drift quickly. RFC 097 is only lightly updated to reference the generated Rust quality work; no RFC lifecycle bump is intended in this PR.

Testing / verification

  • make test / cargo test
  • make examples (if relevant)
  • incan fmt --check . (if relevant)
  • Manual verification described below

Manual verification notes:

  • cargo fmt --all
  • cargo test --test generated_rust_callability_artifact_tests
  • cargo test --test generated_rust_artifact_tests
  • cargo test --test generated_rust_audit_tests
  • cargo test --test generated_rust_native_consumer_tests
  • cargo test --test stdlib_generated_rust_snapshot_tests
  • cargo test --test codegen_snapshot_tests
  • cargo test --lib rust_async_method_call --features rust_inspect
  • cargo test --lib test_codegen_awaits_async_rust_backed_method_from_metadata --features rust_inspect
  • cargo test --lib async_rust --features rust_inspect
  • cargo test --lib validate_rust_function_call --features rust_inspect
  • cargo test --lib --features rust_inspect -- --test-threads=1
  • make generated-rust-audit-gate
  • python -m mkdocs build --strict from workspaces/docs-site
  • git diff --check origin/main..HEAD
  • make pre-commit

Docs impact

  • No docs changes needed
  • Docs updated
  • Docs follow Divio intent (tutorial/how-to/reference/explanation) where applicable

If docs updated:

  • Link(s): workspaces/docs-site/docs/contributing/explanation/generated_rust_quality.md, workspaces/docs-site/docs/contributing/how-to/auditing_generated_rust.md, workspaces/docs-site/docs/contributing/reference/generated_rust_stdlib_coverage.md, workspaces/docs-site/docs/RFCs/097_rust_hosted_incan_caller.md, workspaces/docs-site/docs/release_notes/0_3.md

Checklist

  • I kept public docs user-focused and moved internals to contributing docs when appropriate
  • I avoided duplicating canonical install/run instructions in multiple places
  • I added/updated tests where it materially reduces regressions

@incan-triage-bot incan-triage-bot Bot added documentation Improvements or additions to documentation incan compiler Suggestions, features, or bugs related to the Compiler (frontend/backend/codegen) incan language semantics Suggestions, features, or bugs related to the Incan Language itself (syntax and semantics) tooling Suggestions, features, or bugs related to the Tooling (CLI/formatter/test runner) labels May 20, 2026
@dannymeijer dannymeijer self-assigned this May 20, 2026
@dannymeijer dannymeijer added this to the 0.3 Release milestone May 20, 2026
@dannymeijer dannymeijer marked this pull request as ready for review May 20, 2026 17:01
@dannymeijer dannymeijer merged commit 8a9860d into main May 20, 2026
33 checks passed
@dannymeijer dannymeijer deleted the chore/599-603-generated-rust-baselines branch May 20, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation incan compiler Suggestions, features, or bugs related to the Compiler (frontend/backend/codegen) incan language semantics Suggestions, features, or bugs related to the Incan Language itself (syntax and semantics) tooling Suggestions, features, or bugs related to the Tooling (CLI/formatter/test runner)

Projects

None yet

1 participant