test: bump recursion_limit on 7 CRUD test files for SURREAL_TEST_KV=lance compat#5
Merged
Merged
Conversation
…ce compat Same compile-time fix as Sprint O (tests/create.rs): when both kv-lance and kv-mem features are enabled (needed for SURREAL_TEST_KV=lance routing — upstream iam/file.rs uses tempfile which is kv-mem-gated), the async-trait Expr::compute() expansion exceeds rustc's default recursion limit of 128. Adds #![recursion_limit = "1024"] (zero runtime cost) to the 7 representative CRUD test files so the upstream integration suite can be exercised against kv-lance: - select.rs - update.rs - delete.rs - insert.rs - upsert.rs - merge.rs - relate.rs Matches the value already in tests/create.rs from Sprint O. Each is either before `mod helpers;` or after the existing `#![allow(clippy::unwrap_used)]` to stay near the other inner attributes.
Owner
Author
|
Meta-S verification (post-merge follow-up) Combined upstream integration coverage under
The remaining 5 files this PR enables (select, delete, insert, upsert, merge, relate) are queued for verification in a separate sprint along with the ~17 other Generated by Claude Code |
This was referenced May 16, 2026
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 16, 2026
…mmit
Captures the maintainer's preflight requirement so future agent
sessions inherit it automatically via the BOOT.md ritual.
Iron rule:
9. Preflight `cargo clippy` before every commit. Always run
`cargo clippy -p <crate> --no-default-features
--features "<set>" -- -D warnings`
against the affected feature set before pushing. A green clippy
is the floor, not the goal — fix every warning at the source,
don't #[allow] it past unless the rationale is documented
inline. CI is the second line of defense; preflight is the first.
Pairs with iron rule #5 (Tests before claims) — clippy is the
static side of the same discipline.
4 tasks
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
Mechanical follow-up to #1's Sprint O: adds
#[recursion_limit = "1024"]to 7 more CRUD test files so the upstream integration suite can be exercised against the kv-lance backend viaSURREAL_TEST_KV=lance.Why
When both
kv-lanceandkv-memfeatures are enabled (the combination is needed becausehelpers.rs::new_ds()routes throughSURREAL_TEST_KV=lancefrom #1, and upstreamiam/file.rsrequirestempfilewhich is gated tokv-mem), the async-trait expansion insurrealdb_core::expr::expression::Expr::computeexceeds rustc's default recursion limit of 128.Same pattern, same fix:
Files
7 inner attributes added:
surrealdb/core/tests/select.rsmod helpers;surrealdb/core/tests/update.rs#[allow(clippy::unwrap_used)]surrealdb/core/tests/delete.rs#[allow(clippy::unwrap_used)]surrealdb/core/tests/insert.rs#[allow(clippy::unwrap_used)]surrealdb/core/tests/upsert.rs#[allow(clippy::unwrap_used)]surrealdb/core/tests/merge.rsmod helpers;surrealdb/core/tests/relate.rsmod helpers;Value matches
tests/create.rs(1024, set in #1's Sprint O).Cost
Zero runtime cost. Pure compile-time directive; only loosens a default limit.
Test plan
SURREAL_TEST_KV=lance cargo test --features "kv-lance kv-mem" --no-default-features --test update(and select/delete/insert/upsert/merge/relate) compiles without recursion errors. Pass-rate signal feeds the next sprint's KNOWN_DIFFERENCES.md update.What's NOT covered
tests/*.rsfiles (access, alter, asyncevent, auth_limit, cache, changefeeds, complex, define, field, function, future, index, info, live, param, query, remove, script, sequence, table, timeout, util, ...) — they may or may not hit the recursion limit; addressed incrementally.Generated by Claude Code