Skip to main content

ClassMemberTrace

Struct ClassMemberTrace 

Source
pub struct ClassMemberTrace {
    pub file: PathBuf,
    pub member_name: String,
    pub member_kind: String,
    pub owner_export: String,
    pub owner_namespace: SemanticNamespace,
    pub owner_is_used: bool,
    pub owner_file_reachable: bool,
    pub owner_is_entry_point: bool,
    pub owner_direct_references: Vec<ExportReference>,
    pub owner_re_export_chains: Vec<ReExportChain>,
    pub reason: String,
    pub semantic: Option<SemanticSymbolTrace>,
}
Expand description

Result of tracing a class / enum / store MEMBER: the --trace FILE:NAME fallback when NAME is not a top-level export but a member declared on one (issue #1744). The trace runs on the module graph only, so it reports the OWNING export’s reachability and usage (the gating precondition for member-level crediting) plus a pointer to the right --unused-*-members command, rather than per-member crediting provenance.

Fields§

§file: PathBuf

The file containing the member.

§member_name: String

The member name being traced.

§member_kind: String

The member kind: class-method, class-property, enum-member, store-member, or namespace-member.

§owner_export: String

The export that declares this member (the class / enum / store name).

§owner_namespace: SemanticNamespace

Namespace whose references credit the owning export, mirroring ExportTrace::namespace for the export this member is declared on. owner_is_used and owner_direct_references describe that lane, so a member of a value export credited only by a bound import type reports type here. semantic.target.namespace names the lane the checker proof covers and can therefore differ. Producers always emit the field; the schema permits omission by payloads created before the owner namespace was exposed.

§owner_is_used: bool

Whether the owning export is considered used.

§owner_file_reachable: bool

Whether the file is reachable from an entry point.

§owner_is_entry_point: bool

Whether the file is an entry point.

§owner_direct_references: Vec<ExportReference>

Files that reference the owning export directly.

§owner_re_export_chains: Vec<ReExportChain>

Re-export chains through which the owning export is reachable. Populated so a machine consumer can tell “used via a barrel” (empty direct refs but non-empty chains) from “genuinely unreferenced”.

§reason: String

Human-readable reason summary plus the follow-up command to inspect the member finding.

§semantic: Option<SemanticSymbolTrace>

Exact checker-backed member references when type-aware tracing is enabled.

Trait Implementations§

Source§

impl Debug for ClassMemberTrace

Source§

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

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

impl Serialize for ClassMemberTrace

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
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<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.