pub struct InventoryComplexity {
pub cyclomatic: u16,
pub cognitive: u16,
}Expand description
Per-function static complexity collected alongside the inventory walk.
Keyed to an InventoryEntry by its source_hash, which both this and the
inventory walk derive from the identical full-span byte slice over the same
parsed program (see InventoryEntry::source_hash). The hash is stable
across line moves, so the pairing survives reformatting that shifts line
numbers. cyclomatic and cognitive are descriptive context for downstream
importance weighting, never thresholds.
Fields§
§cyclomatic: u16McCabe cyclomatic complexity (1 + decision points).
cognitive: u16SonarSource cognitive complexity (structural + nesting penalty).
Trait Implementations§
Source§impl Clone for InventoryComplexity
impl Clone for InventoryComplexity
Source§fn clone(&self) -> InventoryComplexity
fn clone(&self) -> InventoryComplexity
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for InventoryComplexity
Source§impl Debug for InventoryComplexity
impl Debug for InventoryComplexity
impl Eq for InventoryComplexity
Source§impl PartialEq for InventoryComplexity
impl PartialEq for InventoryComplexity
impl StructuralPartialEq for InventoryComplexity
Auto Trait Implementations§
impl Freeze for InventoryComplexity
impl RefUnwindSafe for InventoryComplexity
impl Send for InventoryComplexity
impl Sync for InventoryComplexity
impl Unpin for InventoryComplexity
impl UnsafeUnpin for InventoryComplexity
impl UnwindSafe for InventoryComplexity
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
Mutably borrows from an owned value. Read more
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more