Struct FunctionLikeMetadata

Source
pub struct FunctionLikeMetadata {
Show 30 fields pub kind: FunctionLikeKind, pub span: Span, pub name: Option<StringIdentifier>, pub name_span: Option<Span>, pub parameters: Vec<FunctionLikeParameterMetadata>, pub return_type_declaration_metadata: Option<TypeMetadata>, pub return_type_metadata: Option<TypeMetadata>, pub template_types: Vec<TemplateTuple>, pub attributes: Vec<AttributeMetadata>, pub method_metadata: Option<MethodMetadata>, pub type_resolution_context: Option<TypeResolutionContext>, pub thrown_types: Vec<TypeMetadata>, pub has_yield: bool, pub must_use: bool, pub has_throw: bool, pub specialize_call: bool, pub is_deprecated: bool, pub is_internal: bool, pub is_pure: bool, pub ignore_nullable_return: bool, pub ignore_falsable_return: bool, pub inherits_docs: bool, pub is_mutation_free: bool, pub is_external_mutation_free: bool, pub allows_named_arguments: bool, pub issues: Vec<Issue>, pub assertions: BTreeMap<StringIdentifier, Vec<Assertion>>, pub if_true_assertions: BTreeMap<StringIdentifier, Vec<Assertion>>, pub if_false_assertions: BTreeMap<StringIdentifier, Vec<Assertion>>, pub unchecked: bool, /* private fields */
}

Fields§

§kind: FunctionLikeKind

The kind of function-like structure this metadata represents.

§span: Span

The source code location (span) covering the entire function/method/closure definition. For closures/arrow functions, this covers the function(...) { ... } or fn(...) => ... part.

§name: Option<StringIdentifier>

The name of the function or method, if applicable. None for closures and arrow functions unless assigned to a variable later. Example: processRequest, __construct, my_global_func.

§name_span: Option<Span>

The specific source code location (span) of the function or method name identifier. None if the function/method has no name (closures/arrow functions).

§parameters: Vec<FunctionLikeParameterMetadata>

Ordered list of metadata for each parameter defined in the signature.

§return_type_declaration_metadata: Option<TypeMetadata>

The explicit return type declaration (type hint).

Example: For function getName(): string, this holds metadata for string. None if no return type is specified.

§return_type_metadata: Option<TypeMetadata>

The explicit return type declaration (type hint) or docblock type (@return).

Example: For function getName(): string, this holds metadata for string, or for /** @return string */ function getName() { .. }, this holds metadata for string. None if neither is specified.

§template_types: Vec<TemplateTuple>

Generic type parameters (templates) defined for the function/method (e.g., @template T). Stores the template name and its constraints (parent type and bound type). Example: [("T", [(GenericParent::Function("funcName"), Arc<TUnion::object()>)])]

§attributes: Vec<AttributeMetadata>

Attributes attached to the function/method/closure declaration (#[Attribute] function foo() {}).

§method_metadata: Option<MethodMetadata>

Specific metadata relevant only to methods (visibility, final, static, etc.). This is Some if kind is FunctionLikeKind::Method, None otherwise.

§type_resolution_context: Option<TypeResolutionContext>

Contains context information needed for resolving types within this function’s scope (e.g., use statements, current namespace, class context). Often populated during analysis.

§thrown_types: Vec<TypeMetadata>

A list of types that this function/method might throw, derived from @throws docblock tags or inferred from throw statements within the body.

§has_yield: bool

true if the function/method body contains a yield statement, indicating it’s a generator.

§must_use: bool

true if the function/method is marked with @psalm-must-use, @phpstan-must-use, or @must-use, indicating its return value should not be ignored.

§has_throw: bool

true if the function/method body contains a throw statement.

§specialize_call: bool§is_deprecated: bool

true if the function/method is marked as deprecated via docblock tags (@deprecated, @psalm-deprecated, @phpstan-deprecated).

§is_internal: bool

true if the function/method is marked as internal via docblock tags (@internal, @psalm-internal, @phpstan-internal), indicating it’s not part of the lic API.

§is_pure: bool

true if the function/method is marked as pure via docblock tags (@pure, @psalm-pure, @phpstan-pure), indicating it has no side effects.

§ignore_nullable_return: bool

true if marked with @psalm-ignore-nullable-return or equivalent, suppressing issues related to returning null when the signature doesn’t explicitly allow it.

§ignore_falsable_return: bool

true if marked with @psalm-ignore-falsable-return or equivalent, suppressing issues related to returning false when the signature doesn’t explicitly allow it.

§inherits_docs: bool

true if the function/method’s docblock includes {@inheritdoc} or implicitly inherits documentation from a parent method.

§is_mutation_free: bool

true if marked with @psalm-mutation-free, @phpstan-mutation-free, indicating the function does not modify any state (including object properties or global state). Implies @pure.

§is_external_mutation_free: bool

true if marked with @psalm-external-mutation-free, @phpstan-external-mutation-free, indicating the function does not modify external state but may modify its own arguments or locally created objects.

§allows_named_arguments: bool

true if the function/method accepts named arguments (PHP 8.0+ default). Can be set to false if the #[NoNamedArguments] attribute is present (PHP 8.2+).

§issues: Vec<Issue>

List of issues specifically related to parsing or interpreting this function’s docblock.

§assertions: BTreeMap<StringIdentifier, Vec<Assertion>>

Assertions about parameter types or variable types that are guaranteed to be true after this function/method returns normally. From @psalm-assert, @phpstan-assert, etc. Maps variable/parameter name to a list of type assertions.

§if_true_assertions: BTreeMap<StringIdentifier, Vec<Assertion>>

Assertions about parameter/variable types that are guaranteed to be true if this function/method returns true. From @psalm-assert-if-true, etc.

§if_false_assertions: BTreeMap<StringIdentifier, Vec<Assertion>>

Assertions about parameter/variable types that are guaranteed to be true if this function/method returns false. From @psalm-assert-if-false, etc.

§unchecked: bool

A flag indicating if this function-like should be treated as unchecked.

Implementations§

Source§

impl FunctionLikeMetadata

Contains comprehensive metadata for any function-like structure in PHP. Provides a flexible API with setters (set_*), consuming builders (with_*), adders (add_*), consuming adders (with_added_*), unsetters (unset_*), and consuming unsetters (without_*), along with clearly named getters (get_*, is_*, has_*, allows_*).

Source

pub fn new(kind: FunctionLikeKind, span: Span) -> Self

Creates new FunctionLikeMetadata with basic information and default flags.

Source

pub fn get_kind(&self) -> FunctionLikeKind

Returns the kind of function-like (Function, Method, Closure, ArrowFunction).

Source

pub fn get_parameters_mut(&mut self) -> &mut [FunctionLikeParameterMetadata]

Returns a mutable slice of the parameter metadata.

Source

pub fn get_parameter( &self, name: StringIdentifier, ) -> Option<&FunctionLikeParameterMetadata>

Returns a reference to specific parameter metadata by name, if it exists.

Source

pub fn get_parameter_mut( &mut self, name: StringIdentifier, ) -> Option<&mut FunctionLikeParameterMetadata>

Returns a mutable reference to specific parameter metadata by name, if it exists.

Source

pub fn get_template_types_mut(&mut self) -> &mut [TemplateTuple]

Returns a mutable slice of the template type parameters.

Source

pub fn get_attributes(&self) -> &[AttributeMetadata]

Returns a slice of the attributes.

Source

pub fn get_method_metadata_mut(&mut self) -> Option<&mut MethodMetadata>

Returns a mutable reference to the method-specific info, if this is a method.

Source

pub fn take_issues(&mut self) -> Vec<Issue>

Returns a mutable slice of docblock issues.

Source

pub const fn has_yield(&self) -> bool

Checks if the function contains yield.

Source

pub fn set_name( &mut self, name: Option<StringIdentifier>, name_span: Option<Span>, )

Sets the name and corresponding name span. Clears both if name is None. Updates constructor status.

Source

pub fn with_name( self, name: Option<StringIdentifier>, name_span: Option<Span>, ) -> Self

Returns a new instance with the name and name span set. Updates constructor status.

Source

pub fn unset_name(&mut self)

Sets the name and name span to None. Updates constructor status.

Source

pub fn set_parameters( &mut self, parameters: impl IntoIterator<Item = FunctionLikeParameterMetadata>, )

Sets the parameters, replacing existing ones.

Source

pub fn with_parameters( self, parameters: impl IntoIterator<Item = FunctionLikeParameterMetadata>, ) -> Self

Returns a new instance with the parameters replaced.

Source

pub fn set_return_type_metadata(&mut self, return_type: Option<TypeMetadata>)

Source

pub fn set_return_type_declaration_metadata( &mut self, return_type: Option<TypeMetadata>, )

Source

pub fn add_template_type(&mut self, template: TemplateTuple)

Adds a single template type definition.

Trait Implementations§

Source§

impl Clone for FunctionLikeMetadata

Source§

fn clone(&self) -> FunctionLikeMetadata

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 FunctionLikeMetadata

Source§

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

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

impl<'de> Deserialize<'de> for FunctionLikeMetadata

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 FunctionLikeMetadata

Source§

fn eq(&self, other: &FunctionLikeMetadata) -> 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 FunctionLikeMetadata

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 Eq for FunctionLikeMetadata

Source§

impl StructuralPartialEq for FunctionLikeMetadata

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> 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>,