docs(linalg): document SIMD conversion panics - #8862
docs(linalg): document SIMD conversion panics#8862lance-gatefixer[bot] wants to merge 3 commits into
Conversation
|
Blocked: PR #8862 remains blocked at remote head 535b015 by two failing Rust checks that are not attributable to its rustdoc-only repair.
Smallest action: rerun the two failed Rust jobs on healthy runners. Alternatively, address the inherited io_uring runner-memory failure and investigate the flaky legacy vector-index test independently, then rerun CI. |
|
The With the section on the impl block, as here, the heading attaches to the impl header and lands outside <h3 class="code-header">impl From<&[f32]> for f32x8</h3>
<div class="docblock"><h4 id="panics-1">§Panics</h4>
<p>Panics if <code>value</code> contains fewer than 8 elements.</p></div>
</section></summary><div class="impl-items">...With it on the method, it attaches to <section id="method.from" class="method trait-impl">
<h4 class="code-header">fn from(value: &[f32]) -> Self</h4>
</section></summary><div class="docblock">
<p>Loads the first 8 elements of <code>value</code>.</p>
<h5 id="panics-1">§Panics</h5>
<p>Panics if <code>value</code> has fewer than 8 elements.</p></div>Both are valid rustdoc and neither warns under Two smaller things while you are in there. A bare The I have the same change with the method placement, the summary lines, and the six impls on a branch, from filing #8861. Happy to push it as an alternative if that is easier than iterating here, or to leave this one to pick up the notes. |
|
Addressed in b6af832: moved all six conversion docs onto |
|
Blocked: PR #8862 remains blocked at remote head b6af832 by an inherited
Smallest action: rerun the failed |
|
I wrote the same change independently in #8865 and am closing mine in favour of this one, which came first. Two things I checked on the way that support it. The Harley-Seal name really is wrong, not just imprecise: the body is a The six impls here are the right six. The |
There was a problem hiding this comment.
✅ Gate recommendation: approve.
Merging the updated base leaves the reviewed patch unchanged. The six method-level panic contracts still render under fn from with the correct limits, and the AVX2 Hamming description remains an accurate match for its PSHUFB nibble lookup.
Summary
Root cause
The slice length assertions were added without matching rustdoc panic contracts. Separately, the AVX2 implementation was labeled Harley–Seal even though it independently uses PSHUFB nibble lookups and has no carry-save-adder tree.
Validation
cargo test -p lance-linalgcargo doc -p lance-linalg --no-depscargo fmt --allcargo clippy --all --tests --benches -- -D warningsFixes #8861