From adeb03960cc0094964a47386fbe2fc55c10ce93c Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 24 Jun 2026 14:51:16 -0500 Subject: [PATCH] Sync trait not needed on `run_interaction` LLM summary: func only ever needs to be moved to a thread and called there sequentially, never shared by & across threads: - In the erasure, func is captured by-move into the Box callback (only Send is required to box it that way). - The Python pool moves that callback into the runInteraction DB-thread closure and calls it there; the Rust pool calls it within a single async task. Neither sends &func to multiple threads concurrently. --- rust/src/storage/db/mod.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/rust/src/storage/db/mod.rs b/rust/src/storage/db/mod.rs index 21330dc4b6..ed705b8306 100644 --- a/rust/src/storage/db/mod.rs +++ b/rust/src/storage/db/mod.rs @@ -122,7 +122,6 @@ pub trait DatabasePoolExt: DatabasePool { R: Send + 'static, F: for<'txn> Fn(&'txn mut dyn Transaction) -> BoxFuture<'txn, anyhow::Result> + Send - + Sync + 'static, { // Erase the concrete return type `R` into `Box` so we can call