Skip to content

Relax Tool::call future bound to Send#337

Open
SarthakB11 wants to merge 1 commit into
pepperoni21:masterfrom
SarthakB11:fix/issue-291
Open

Relax Tool::call future bound to Send#337
SarthakB11 wants to merge 1 commit into
pepperoni21:masterfrom
SarthakB11:fix/issue-291

Conversation

@SarthakB11
Copy link
Copy Markdown

Fixes #291.

  • Drop + Sync from the future returned by Tool::call (and ToolHolder::call); keep + Send.
  • The Tool: Send + Sync bound on the implementor is unchanged.
  • Rationale: Coordinator awaits tool calls sequentially, so Send alone is sufficient. The previous + Sync bound forced every .await inside a tool body to yield only Sync futures, ruling out common ecosystem types like bollard::Docker::start_exec, which returns Pin<Box<dyn Stream<…> + Send>> (not Sync).
  • Non-breaking: relaxing an auto-trait bound on a return type is backwards-compatible — existing Tool impls continue to compile.
  • No test added — this is a bound relaxation with no runtime behavior change, and the repo has no trybuild scaffolding for compile-only checks.

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.

Tool::call future requires Sync

1 participant