Commit 2f164ec
fix: exclude python-bindings from coverage build
The Code Coverage job (cargo tarpaulin, nightly toolchain) was failing
to link with:
rust-lld: error: undefined symbol: _PyEval_RequestCodeExtraIndex
referenced by pyo3_ffi::cpython::ceval
tarpaulin.toml set `all-features = true`, which enables the optional
`python-bindings` feature and compiles src/python.rs into the coverage
test binary, link-binding libpython. Under the nightly toolchain's
rust-lld (now the default linker) the private CPython symbol does not
resolve, so the binary fails to link. This is deterministic, not a
flake — re-running the job reproduces it.
The bindings are a thin PyO3 FFI shim that cannot be exercised from Rust
tests (they need a live interpreter), so src/python.rs always scored
0/36 lines and contributed nothing measurable. The real Python surface
is covered by the maturin-built pytest suite.
Set `all-features = false` so coverage builds the default feature set.
This drops the unlinkable FFI shim from the build graph and, by removing
36 uncoverable lines from the denominator, nudges reported coverage up
(80.85% -> 81.71% locally) rather than down.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent ff4a2d3 commit 2f164ec
1 file changed
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
31 | 38 | | |
32 | 39 | | |
33 | 40 | | |
| |||
0 commit comments