fix(dspy): asyncify type signature causing Pyright reportCallIssue #9065
+38 −6
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.
📝 Changes Description
dspy.asyncifyreturnedCallable[[Any, Any], Awaitable[Any]], incorrectly specifying exactly 2 positional arguments. Pyright raisedreportCallIssueerrors on valid calls:Type Signature Fix:
ParamSpec("P")andTypeVar("T")to preserve function signaturesCallable[P, T]→Callable[P, Awaitable[T]](preserves exact parameter specification)Callable[..., Awaitable[Any]](usesAnysince Module return types cannot be statically determined)@overloaddecorators for better type inference based on input type*args: P.args, **kwargs: P.kwargsand return typeTin innerasync_programfunctionBenefits:
Anyto indicate dynamically-typed returnsTest Coverage:
test_asyncify_with_dspy_modulecovering positional/keyword args✅ Contributor Checklist
None. Backward compatible - existing code continues to work unchanged.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.