Skip to main content

SymbolReferences

Struct SymbolReferences 

Source
pub struct SymbolReferences { /* private fields */ }
Expand description

Stores various maps tracking references between symbols (classes, functions, etc.) and class-like members (methods, properties, constants, etc.) within the codebase.

This is primarily used for dependency analysis, understanding code structure, and potentially for tasks like dead code detection or impact analysis.

Implementations§

Source§

impl SymbolReferences

Source

pub fn new() -> Self

Creates a new, empty SymbolReferences collection.

Source

pub fn count_body_references(&self) -> usize

Counts the total number of symbol-to-symbol body references.

Source

pub fn count_signature_references(&self) -> usize

Counts the total number of symbol-to-symbol signature references.

Source

pub fn count_referencing_symbols( &self, symbol: &SymbolIdentifier, in_signature: bool, ) -> usize

Counts how many symbols reference the given symbol.

§Arguments
  • symbol - The symbol to check references to
  • in_signature - If true, count signature references; if false, count body references
§Returns

The number of symbols that reference the given symbol

Source

pub fn count_property_reads(&self, property: &SymbolIdentifier) -> usize

Counts how many symbols have a read reference to the given property.

§Arguments
  • property - The property symbol identifier (ClassName, PropertyName) to check
§Returns

The number of symbols that read the given property

Source

pub fn count_property_writes(&self, property: &SymbolIdentifier) -> usize

Counts how many symbols have a write reference to the given property.

§Arguments
  • property - The property symbol identifier (ClassName, PropertyName) to check
§Returns

The number of symbols that write to the given property

Source

pub fn add_symbol_reference_to_class_member( &mut self, referencing_symbol: Atom, class_member: SymbolIdentifier, in_signature: bool, )

Records that a top-level symbol (e.g., a function) references a class member.

Automatically adds a reference from the referencing symbol to the member’s class.

§Arguments
  • referencing_symbol: The FQN of the function or global const making the reference.
  • class_member: A tuple (ClassName, MemberName) being referenced.
  • in_signature: true if the reference occurs in a signature context, false if in the body.
Source

pub fn add_symbol_reference_to_symbol( &mut self, referencing_symbol: Atom, symbol: Atom, in_signature: bool, )

Records that a top-level symbol references another top-level symbol.

Skips self-references. Skips body references if already referenced in signature.

§Arguments
  • referencing_symbol: The FQN of the symbol making the reference.
  • symbol: The FQN of the symbol being referenced.
  • in_signature: true if the reference occurs in a signature context, false if in the body.
Source

pub fn add_class_member_reference_to_class_member( &mut self, referencing_class_member: SymbolIdentifier, class_member: SymbolIdentifier, in_signature: bool, )

Records that a class member references another class member.

Automatically adds references from the referencing member’s class to the referenced member’s class, and from the referencing member to the referenced member’s class. Skips self-references.

§Arguments
  • referencing_class_member: Tuple (ClassName, MemberName) making the reference.
  • class_member: Tuple (ClassName, MemberName) being referenced.
  • in_signature: true if the reference occurs in a signature context, false if in the body.
Source

pub fn add_class_member_reference_to_symbol( &mut self, referencing_class_member: SymbolIdentifier, symbol: Atom, in_signature: bool, )

Records that a class member references a top-level symbol.

Automatically adds a reference from the referencing member’s class to the referenced symbol. Skips references to the member’s own class. Skips body references if already referenced in signature.

§Arguments
  • referencing_class_member: Tuple (ClassName, MemberName) making the reference.
  • symbol: The FQN of the symbol being referenced.
  • in_signature: true if the reference occurs in a signature context, false if in the body.
Source

pub fn add_file_reference_to_class_member( &mut self, file_hash: Atom, class_member: SymbolIdentifier, in_signature: bool, )

Adds a file-level reference to a class member. This is used for references from global/top-level scope that aren’t within any symbol.

Source

pub fn add_reference_to_class_member( &mut self, scope: &ScopeContext<'_>, class_member: SymbolIdentifier, in_signature: bool, )

Convenience method to add a reference from the current function context to a class member. Delegates to appropriate add_* methods based on the function context.

Source

pub fn add_reference_to_class_member_with_file( &mut self, scope: &ScopeContext<'_>, class_member: SymbolIdentifier, in_signature: bool, file_hash: Option<Atom>, )

Convenience method to add a reference from the current function context to a class member. Delegates to appropriate add_* methods based on the function context. If file_hash is provided and the reference is from global scope, uses file-level tracking.

§Note on Normalization

This method assumes that symbol names (class_member, function_name, class_name) are already normalized to lowercase, as they come from the codebase which stores all symbols in lowercase form. No additional normalization is performed to avoid redundant overhead.

Source

pub fn add_reference_for_method_call( &mut self, scope: &ScopeContext<'_>, method: &MethodIdentifier, )

Source

pub fn add_reference_for_property_read( &mut self, scope: &ScopeContext<'_>, class_name: Atom, property_name: Atom, )

Records a read reference to a property (e.g., $this->prop used as a value).

Source

pub fn add_reference_for_property_write( &mut self, scope: &ScopeContext<'_>, class_name: Atom, property_name: Atom, )

Records a write reference to a property (e.g., $this->prop = value). This is tracked separately from read references to enable write-only property detection.

Source

pub fn add_reference_to_overridden_class_member( &mut self, scope: &ScopeContext<'_>, class_member: SymbolIdentifier, )

Convenience method to add a reference from the current function context to an overridden class member (e.g., parent::foo). Delegates based on the function context.

Source

pub fn add_reference_to_symbol( &mut self, scope: &ScopeContext<'_>, symbol: Atom, in_signature: bool, )

Convenience method to add a reference from the current function context to a top-level symbol. Delegates to appropriate add_* methods based on the function context.

Source

pub fn add_reference_to_functionlike_return( &mut self, referencing_functionlike: FunctionLikeIdentifier, referenced_functionlike: FunctionLikeIdentifier, )

Records that one function/method references the return value of another. Used for dead code analysis.

Source

pub fn extend(&mut self, other: Self)

Merges references from another SymbolReferences instance into this one. Existing references are extended, not replaced.

Source

pub fn get_referenced_symbols_and_members(&self) -> HashSet<&SymbolIdentifier>

Computes the set of all unique symbols and members that are referenced by any symbol/member tracked in the body or signature reference maps.

§Returns

A HashSet containing &(SymbolName, MemberName) tuples of all referenced items.

Source

pub fn get_back_references( &self, ) -> HashMap<SymbolIdentifier, HashSet<SymbolIdentifier>>

Computes the inverse of the body and signature reference maps.

§Returns

A HashMap where the key is the referenced symbol/member (Symbol, Member) and the value is a HashSet of referencing symbols/members (RefSymbol, RefMember).

Source

pub fn get_references_to_symbol( &self, target_symbol: SymbolIdentifier, ) -> HashSet<&SymbolIdentifier>

Finds all symbols/members that reference a specific target symbol/member. Checks both body and signature references.

§Arguments
  • target_symbol: The (SymbolName, MemberName) tuple being referenced.
§Returns

A HashSet containing &(RefSymbol, RefMember) tuples of all items referencing the target.

Source

pub fn get_referenced_symbols_and_members_with_counts( &self, ) -> HashMap<SymbolIdentifier, u32>

Computes the count of references for each unique symbol/member referenced in bodies or signatures.

§Returns

A HashMap where the key is the referenced symbol/member (Symbol, Member) and the value is the total count (u32) of references to it.

Source

pub fn get_referenced_overridden_class_members( &self, ) -> HashMap<SymbolIdentifier, HashSet<SymbolIdentifier>>

Computes the inverse of the overridden member reference map.

§Returns

A HashMap where the key is the overridden member (ParentSymbol, Member) and the value is a HashSet of referencing symbols/members (RefSymbol, RefMember) that call it via parent::.

Source

pub fn get_invalid_symbols( &self, codebase_diff: &CodebaseDiff, ) -> Option<(HashSet<SymbolIdentifier>, AtomSet)>

Calculates sets of invalid symbols and members based on detected code changes (CodebaseDiff). Propagates invalidation through the dependency graph stored in signature references. Limits propagation expense to avoid excessive computation on large changes.

§Arguments
  • codebase_diff: Information about added, deleted, or modified symbols/signatures.
§Returns

Some((invalid_signatures, partially_invalid)) on success, where invalid_signatures contains all symbol/member pairs whose signature is invalid (including propagated ones), and partially_invalid contains symbols with at least one invalid member. Returns None if the propagation exceeds an expense limit (currently 5000 steps).

Source

pub fn remove_references_from_invalid_symbols( &mut self, invalid_symbols_and_members: &HashSet<SymbolIdentifier>, )

Removes all references originating from symbols/members that are marked as invalid.

§Arguments
  • invalid_symbols_and_members: A set containing (SymbolName, MemberName) tuples for invalid items.
Source

pub fn get_symbol_references_to_symbols( &self, ) -> &HashMap<SymbolIdentifier, HashSet<SymbolIdentifier>>

Returns a reference to the map tracking references within symbol/member bodies.

Source

pub fn get_symbol_references_to_symbols_in_signature( &self, ) -> &HashMap<SymbolIdentifier, HashSet<SymbolIdentifier>>

Returns a reference to the map tracking references within symbol/member signatures.

Source

pub fn get_symbol_references_to_overridden_members( &self, ) -> &HashMap<SymbolIdentifier, HashSet<SymbolIdentifier>>

Returns a reference to the map tracking references to overridden members.

Source

pub fn get_functionlike_references_to_functionlike_returns( &self, ) -> &HashMap<FunctionLikeIdentifier, HashSet<FunctionLikeIdentifier>>

Returns a reference to the map tracking references to function-like return values.

Source

pub fn get_file_references_to_symbols( &self, ) -> &HashMap<Atom, HashSet<SymbolIdentifier>>

Returns a reference to the map tracking file-level references to symbols (body).

Source

pub fn get_file_references_to_symbols_in_signature( &self, ) -> &HashMap<Atom, HashSet<SymbolIdentifier>>

Returns a reference to the map tracking file-level references to symbols (signature).

Trait Implementations§

Source§

impl Clone for SymbolReferences

Source§

fn clone(&self) -> SymbolReferences

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for SymbolReferences

Source§

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

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

impl Default for SymbolReferences

Source§

fn default() -> SymbolReferences

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SymbolReferences

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for SymbolReferences

Source§

fn eq(&self, other: &SymbolReferences) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for SymbolReferences

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
Source§

impl StructuralPartialEq for SymbolReferences

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> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,