pub struct ComplexityMetrics {
pub cyclomatic_complexity: usize,
pub decision_points: usize,
pub max_nesting_depth: usize,
pub lines_of_code: usize,
}Expand description
Complexity metrics for a function
Fields§
§cyclomatic_complexity: usizeCyclomatic complexity (McCabe metric) CC = E - N + 2P where E=edges, N=nodes, P=connected components
decision_points: usizeNumber of decision points (if, while, for, match, etc.)
max_nesting_depth: usizeMaximum nesting depth
lines_of_code: usizeNumber of lines of code (approximate)
Implementations§
Trait Implementations§
Source§impl Clone for ComplexityMetrics
impl Clone for ComplexityMetrics
Source§fn clone(&self) -> ComplexityMetrics
fn clone(&self) -> ComplexityMetrics
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 ComplexityMetrics
Source§impl Debug for ComplexityMetrics
impl Debug for ComplexityMetrics
impl Eq for ComplexityMetrics
Source§impl PartialEq for ComplexityMetrics
impl PartialEq for ComplexityMetrics
Source§fn eq(&self, other: &ComplexityMetrics) -> bool
fn eq(&self, other: &ComplexityMetrics) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ComplexityMetrics
Auto Trait Implementations§
impl Freeze for ComplexityMetrics
impl RefUnwindSafe for ComplexityMetrics
impl Send for ComplexityMetrics
impl Sync for ComplexityMetrics
impl Unpin for ComplexityMetrics
impl UnsafeUnpin for ComplexityMetrics
impl UnwindSafe for ComplexityMetrics
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
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<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