Open
Description
I tried this code:
let (m_original, []) = slice::as_chunks::<_, 8>(m.limbs()) else {
return Err(LimbSliceError::len_mismatch(LenMismatchError::new(8)));
}
In my test suite, the positive if
case is covered, but the else
is never covered.
I expected to see this happen:
Code coverage tools should clearly report that let (m_original, []) = slice::as_chunks::<_, 8>(m.limbs())
is fully covered and should clearly report that the entire else
case is not covered.
Instead, this happened:
Code coverage reports that let (m_original, []) = slice::as_chunks::<_, 8>(m.limbs()) else {
is partially covered and that the rest of the else
is uncovered:
This is really unfortunate as it leads to confusion about whether part of the positive case is uncovered.
Meta
rustc +nightly --version --verbose
:
rustc 1.90.0-nightly (706f244db 2025-06-23)
binary: rustc
commit-hash: 706f244db581212cabf2e619e0113d70999b2bbe
commit-date: 2025-06-23
host: aarch64-apple-darwin
release: 1.90.0-nightly
LLVM version: 20.1.7