Skip to main content

FuncSpace

Struct FuncSpace 

Source
pub struct FuncSpace {
    pub name: Option<String>,
    pub start_line: usize,
    pub end_line: usize,
    pub kind: SpaceKind,
    pub spaces: Vec<FuncSpace>,
    pub metrics: CodeMetrics,
    pub suppressed: SuppressionScope,
}
Expand description

Function space data.

Fields§

§name: Option<String>

The name of a function space.

For the top-level (file-level) FuncSpace, this is the value supplied via Source::name to analyze — typically a file path or other display identifier chosen by the caller. The library no longer derives this from a &Path or applies lossy UTF-8 conversion; callers are expected to pass an already-stringified identifier (or None if they have no meaningful name to attach). The deprecated entry points get_function_spaces / [metrics_with_options] continue to derive a lossy string from the &Path argument for backwards compatibility.

For nested spaces, None means an error occurred in parsing the name of the function space from the AST.

§start_line: usize

The first line of a function space

§end_line: usize

The last line of a function space

§kind: SpaceKind

The space kind

§spaces: Vec<FuncSpace>

All subspaces contained in a function space

§metrics: CodeMetrics

All metrics of a function space

§suppressed: SuppressionScope

In-source suppression markers that apply to this space.

Populated during the spaces pass from comment-embedded directives. Each marker carries a SuppressionScope naming the metrics it silences. The top-level (file-level) FuncSpace aggregates every file-scoped marker; nested function spaces aggregate every function-scoped marker whose comment lies inside their source range. Metric computation itself is unaffected — this field is consumed by downstream threshold-check code (e.g. bca check), which consults a crate::SuppressionPolicy to decide whether to honour the markers or surface every violation regardless.

Defaults to SuppressionScope::default() (an empty Some), so pre-existing code paths that do not honor suppressions see no behaviour change. The field is elided from JSON output when empty so the existing schema is unchanged for files without markers.

Trait Implementations§

Source§

impl Clone for FuncSpace

Source§

fn clone(&self) -> FuncSpace

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FuncSpace

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Serialize for FuncSpace

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.