fix(python): return None from unit jobs (#3999)

## Problem

Generic job result propagation exposed the PyO3 representation of Rust's
unit value as `()` in Python. Unit jobs therefore returned an empty
tuple instead of `None`, breaking the documented `Job.wait()` contract
and the Python doctest workflow.

## Behavior

Unit job completion now converts explicitly to Python `None`. Typed job
results continue to pass through unchanged, with synchronous and
asynchronous regression coverage.
This commit is contained in:
Xuanwo
2026-08-21 19:42:37 +08:00
committed by GitHub
parent fbfb53e30f
commit 6a0df4de47
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ impl Job {
let inner = self_.inner.clone();
future_into_py(self_.py(), async move {
inner.wait().await.infer_error()?;
Ok(())
Ok(None::<()>)
})
}