pub enum FetchCompleteness {
Complete,
Incomplete,
}Expand description
Whether a typosquat-signal evaluation’s deps.dev calls all returned a definitive answer, or at least one degraded to a failure (issue #1463).
similar_packages, popularity and DepsDevClient::typosquat_signal all report this
alongside their usual None/empty-on-any-failure degradation (FR-005/FR-006), because a
caller deciding whether a “no signal” result may be trusted as a completed check (versus
retried later) needs to tell “genuinely nothing found” apart from “couldn’t ask”. Threaded
through the similarity/popularity memos themselves (not just the fresh-fetch path), so a
cache hit inside DEPS_DEV_ERROR_TTL’s retry window still reports Self::Incomplete
instead of silently reporting Self::Complete for a result that was never actually
verified.
Variants§
Complete
Every call this evaluation needed returned a definitive answer — a successfully
parsed response or an authoritative negative (e.g. a GetPackage 404), fresh or
served from a success-TTL memo hit.
Incomplete
At least one call failed, timed out, or returned unparseable data — fresh, or served
from an error-TTL memo hit still within its retry window. A None/empty result under
this variant is not a verified negative; the check simply never completed.
Implementations§
Trait Implementations§
Source§impl Clone for FetchCompleteness
impl Clone for FetchCompleteness
impl Copy for FetchCompleteness
Source§impl Debug for FetchCompleteness
impl Debug for FetchCompleteness
impl Eq for FetchCompleteness
Source§impl PartialEq for FetchCompleteness
impl PartialEq for FetchCompleteness
impl StructuralPartialEq for FetchCompleteness
Auto Trait Implementations§
impl Freeze for FetchCompleteness
impl RefUnwindSafe for FetchCompleteness
impl Send for FetchCompleteness
impl Sync for FetchCompleteness
impl Unpin for FetchCompleteness
impl UnsafeUnpin for FetchCompleteness
impl UnwindSafe for FetchCompleteness
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.