Enum VariableBinding

Source
pub enum VariableBinding<'f> {
    Value((ValueType, Value)),
    Provider(Function<'f>),
}
Expand description

Variable binding: value or provider.

VariableBinding represents a runtime variable binding, which can be:

  • Value binding (Value): Directly stored variable value
  • Provider binding (Provider): Dynamically computed variable value through functions

§Lifetime Parameters

  • 'f: Lifetime of provider functions

Variants§

§

Value((ValueType, Value))

Directly stored value binding, containing (type, value) tuple

§

Provider(Function<'f>)

Dynamic provider binding, computing values through functions

Implementations§

Source§

impl<'f> VariableBinding<'f>

Source

pub fn from_value<T: IntoValue + TypedValue>(value: T) -> Self

Creates a variable binding from a value.

§Type Parameters
  • T: Value type, must implement IntoValue + TypedValue
§Parameters
  • value: The value to bind
§Returns

New VariableBinding::Value containing the value and its type

Source

pub fn from_provider<F, Fm>(provider: F) -> Self
where F: IntoFunction<'f, Fm>, Fm: FnMarker,

Creates a variable binding from a provider function.

§Type Parameters
  • F: Provider function type, must implement IntoFunction
  • Fm: Function marker type (sync/async)
§Parameters
  • provider: The provider function
§Returns

New VariableBinding::Provider containing the provider function

Source

pub fn value_type(&self) -> ValueType

Returns the value type of this binding.

For value bindings, returns the stored type. For provider bindings, returns the return type of the provider function.

§Returns

The ValueType of this binding

Source

pub fn is_value(&self) -> bool

Returns whether this is a value binding.

§Returns

true if this is a Value binding, false if it’s a Provider binding

Source

pub fn is_provider(&self) -> bool

Returns whether this is a provider binding.

§Returns

true if this is a Provider binding, false if it’s a Value binding

Source

pub fn as_value(&self) -> Option<&Value>

Returns the value if this is a value binding.

§Returns

Some(&Value) if this is a value binding, None if it’s a provider binding

Source

pub fn as_provider(&self) -> Option<&Function<'f>>

Returns the provider function if this is a provider binding.

§Returns

Some(&Function) if this is a provider binding, None if it’s a value binding

Source

pub fn into_value(self) -> Option<Value>

Converts this binding into a value if it’s a value binding.

§Returns

Some(Value) if this is a value binding, None if it’s a provider binding

Source

pub fn into_provider(self) -> Option<Function<'f>>

Converts this binding into a provider function if it’s a provider binding.

§Returns

Some(Function) if this is a provider binding, None if it’s a value binding

Trait Implementations§

Source§

impl<'f> Clone for VariableBinding<'f>

Source§

fn clone(&self) -> VariableBinding<'f>

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

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

Performs copy-assignment from source. Read more
Source§

impl<'f> Debug for VariableBinding<'f>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'f> Freeze for VariableBinding<'f>

§

impl<'f> !RefUnwindSafe for VariableBinding<'f>

§

impl<'f> Send for VariableBinding<'f>

§

impl<'f> Sync for VariableBinding<'f>

§

impl<'f> Unpin for VariableBinding<'f>

§

impl<'f> !UnwindSafe for VariableBinding<'f>

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