pub struct FindingIdQuery {
pub requested: Vec<String>,
pub found: Vec<String>,
pub missing: Vec<String>,
pub filtered: Vec<String>,
pub conclusive: bool,
pub inconclusive_reasons: Vec<FindingIdQueryReason>,
pub analysis_fingerprint: String,
}Expand description
The result of a --finding-id query, present only when the run received
one or more --finding-id values.
A requested id that is missing from a conclusive run means “fixed,
suppressed, or ignored by config”, never “unknown”: an inline suppression
comment or an ignoreFindings entry is a choice a person made to hide the
finding, so it counts as absent. A missing id in a run that is not
conclusive is unknown, never resolved.
Every list keeps the order of requested. found and missing partition
requested. filtered is a subset of missing.
Fields§
§requested: Vec<String>The requested ids, without duplicates, in the order of the arguments.
found: Vec<String>The requested ids that this report contains.
missing: Vec<String>The requested ids that this report does not contain. When conclusive
is true, a missing id is fixed, suppressed, or ignored by config.
Otherwise its state is unknown.
filtered: Vec<String>The missing ids that the analysis still found before a filter of this run (scope, baseline, issue-type filter) removed them. Such a finding still exists.
conclusive: boolTrue when no option of this run can hide a finding without a fix, and no requested id was filtered. Only then does a missing id mean that the analysis no longer reports the finding.
inconclusive_reasons: Vec<FindingIdQueryReason>Why the query is not conclusive, sorted. Empty exactly when
conclusive is true.
analysis_fingerprint: StringA stable hash (af1:<16 hex digits>) of every input other than the
source code that decides which findings the run reports:
- the fallow version;
- the merged config after
extends(without keys that only shape other commands), the loaded external plugins and rule packs; - production mode,
includeEntryExports, the effective rules, the type-aware mode, requirement and project list, the file size limit; - the root-relative path and content of each repository
.gitignore,.ignoreand.git/info/exclude, eachpackage.json, eachtsconfig*.jsonandjsconfig*.jsonwith the files itsextendsnames, and each file that matches a built-in or external plugin config pattern (for examplevite.config.ts).
File content is normalized (CRLF to LF, trailing newlines removed).
Known exclusions: the global git excludes file and other machine
environment outside the FALLOW_* variables. Store the fingerprint
with a verdict. A later query with another fingerprint is unknown, even
when conclusive is true. An edit to a source file keeps it; an edit
to a manifest or project config changes it, also when the edit fixes a
dependency finding.
Implementations§
Source§impl FindingIdQuery
impl FindingIdQuery
Sourcepub fn new(
requested: Vec<String>,
is_found: impl Fn(&str) -> bool,
is_filtered: impl Fn(&str) -> bool,
run_reasons: impl IntoIterator<Item = FindingIdQueryReason>,
analysis_fingerprint: String,
) -> Self
pub fn new( requested: Vec<String>, is_found: impl Fn(&str) -> bool, is_filtered: impl Fn(&str) -> bool, run_reasons: impl IntoIterator<Item = FindingIdQueryReason>, analysis_fingerprint: String, ) -> Self
Build the query result.
requested must be free of duplicates. found and filtered are
membership tests over requested. run_reasons are the options of
the run that can hide a finding; Filtered is added when an id was
filtered.
Trait Implementations§
Source§impl Clone for FindingIdQuery
impl Clone for FindingIdQuery
Source§impl Debug for FindingIdQuery
impl Debug for FindingIdQuery
impl Eq for FindingIdQuery
Source§impl PartialEq for FindingIdQuery
impl PartialEq for FindingIdQuery
Source§impl Serialize for FindingIdQuery
impl Serialize for FindingIdQuery
impl StructuralPartialEq for FindingIdQuery
Auto Trait Implementations§
impl Freeze for FindingIdQuery
impl RefUnwindSafe for FindingIdQuery
impl Send for FindingIdQuery
impl Sync for FindingIdQuery
impl Unpin for FindingIdQuery
impl UnsafeUnpin for FindingIdQuery
impl UnwindSafe for FindingIdQuery
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.