Skip to main content

GradientStatus

Struct GradientStatus 

Source
pub struct GradientStatus {
    pub message: StatusMessage,
    pub x: DVector<Float>,
    pub fx: Float,
    pub n_f_evals: usize,
    pub n_g_evals: usize,
    pub n_h_evals: usize,
    pub hess: Option<DMatrix<Float>>,
    pub cov: Option<DMatrix<Float>>,
    pub err: Option<DVector<Float>>,
}
Expand description

A status message struct containing all information about a minimization result.

Fields§

§message: StatusMessage

A StatusMessage that can be set by Algorithms.

§x: DVector<Float>

The current parameters of the minimization.

§fx: Float

The current value of the minimization problem function at GradientStatus::x.

§n_f_evals: usize

The number of function evaluations (approximately, this is left up to individual Algorithms to correctly compute and may not be exact).

§n_g_evals: usize

The number of gradient evaluations (approximately, this is left up to individual Algorithms to correctly compute and may not be exact).

§n_h_evals: usize

The number of Hessian evaluations (approximately, this is left up to individual Algorithms to correctly compute and may not be exact).

§hess: Option<DMatrix<Float>>

The Hessian matrix at the end of the fit (None if not computed yet)

§cov: Option<DMatrix<Float>>

Covariance matrix at the end of the fit (None if not computed yet)

§err: Option<DVector<Float>>

Errors on parameters at the end of the fit (None if not computed yet)

Implementations§

Source§

impl GradientStatus

Source

pub fn initialize(&mut self, pos: (DVector<Float>, Float))

Updates the GradientStatus::x and GradientStatus::fx fields and sets the status message to an initialized state.

Source

pub fn set_position(&mut self, pos: (DVector<Float>, Float))

Updates the GradientStatus::x and GradientStatus::fx fields and sets the status message to a step state.

Source

pub fn initialize_silent(&mut self, pos: (DVector<Float>, Float))

Updates the GradientStatus::x and GradientStatus::fx fields and marks the status as initialized without formatting a message payload.

Source

pub fn set_position_silent(&mut self, pos: (DVector<Float>, Float))

Updates the GradientStatus::x and GradientStatus::fx fields and marks the status as a step without formatting a message payload.

Source

pub fn inc_n_f_evals(&mut self)

Increments GradientStatus::n_f_evals by 1.

Source

pub fn inc_n_g_evals(&mut self)

Increments GradientStatus::n_g_evals by 1.

Source

pub fn inc_n_h_evals(&mut self)

Increments GradientStatus::n_h_evals by 1.

Source

pub fn set_cov(&mut self, covariance: Option<DMatrix<Float>>)

Updates the GradientStatus::err field.

Source

pub fn set_hess(&mut self, hessian: &DMatrix<Float>)

Updates the GradientStatus::hess field and computes GradientStatus::cov and GradientStatus::err.

Trait Implementations§

Source§

impl<P, U, E> Algorithm<P, GradientStatus, U, E> for Adam
where P: Gradient<U, E>,

Source§

type Summary = MinimizationSummary

A type which holds a summary of the algorithm’s ending state.
Source§

type Config = AdamConfig

The configuration struct for the algorithm.
Source§

type Init = Matrix<f64, Dyn, Const<1>, VecStorage<f64, Dyn, Const<1>>>

The initialization payload for a single run.
Source§

fn initialize( &mut self, problem: &P, status: &mut GradientStatus, args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<(), E>

Any setup work done before the main steps of the algorithm should be done here. Read more
Source§

fn step( &mut self, i_step: usize, problem: &P, status: &mut GradientStatus, args: &U, config: &Self::Config, ) -> Result<(), E>

The main “step” of an algorithm, which is repeated until termination conditions are met or the max number of steps have been taken. Read more
Source§

fn summarize( &self, _current_step: usize, _problem: &P, status: &GradientStatus, _args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<Self::Summary, E>

Generates a new Algorithm::Summary from the current state of the Algorithm, which can be displayed or used elsewhere. Read more
Source§

fn reset(&mut self)

Reset the algorithm to its initial state.
Source§

fn default_callbacks() -> Callbacks<Self, P, GradientStatus, U, E, Self::Config>
where Self: Sized,

Provides a set of reasonable default callbacks specific to this Algorithm.
Source§

fn postprocessing( &mut self, problem: &P, status: &mut S, args: &U, config: &Self::Config, ) -> Result<(), E>

Runs any steps needed by the Algorithm after termination or convergence. This will run regardless of whether the Algorithm converged. Read more
Source§

fn process<C>( &mut self, problem: &P, args: &U, init: Self::Init, config: Self::Config, callbacks: C, ) -> Result<Self::Summary, E>
where C: Into<Callbacks<Self, P, S, U, E, Self::Config>>, Self: Sized,

Process the given problem using this Algorithm. Read more
Source§

fn process_with_default_callbacks( &mut self, problem: &P, user_data: &U, init: Self::Init, config: Self::Config, ) -> Result<Self::Summary, E>
where Self: Sized,

Process the given problem using this Algorithm and the algorithm’s default callbacks. Read more
Source§

fn process_default( &mut self, problem: &P, user_data: &U, init: Self::Init, ) -> Result<Self::Summary, E>
where Self: Sized, Self::Config: Default,

Process the given problem using this Algorithm with default config and default callbacks. Read more
Source§

impl<P, U, E> Algorithm<P, GradientStatus, U, E> for ConjugateGradient
where P: Gradient<U, E>,

Source§

type Summary = MinimizationSummary

A type which holds a summary of the algorithm’s ending state.
Source§

type Config = ConjugateGradientConfig

The configuration struct for the algorithm.
Source§

type Init = Matrix<f64, Dyn, Const<1>, VecStorage<f64, Dyn, Const<1>>>

The initialization payload for a single run.
Source§

fn initialize( &mut self, problem: &P, status: &mut GradientStatus, args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<(), E>

Any setup work done before the main steps of the algorithm should be done here. Read more
Source§

fn step( &mut self, _current_step: usize, problem: &P, status: &mut GradientStatus, args: &U, config: &Self::Config, ) -> Result<(), E>

The main “step” of an algorithm, which is repeated until termination conditions are met or the max number of steps have been taken. Read more
Source§

fn summarize( &self, _current_step: usize, _problem: &P, status: &GradientStatus, _args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<Self::Summary, E>

Generates a new Algorithm::Summary from the current state of the Algorithm, which can be displayed or used elsewhere. Read more
Source§

fn reset(&mut self)

Reset the algorithm to its initial state.
Source§

fn default_callbacks() -> Callbacks<Self, P, GradientStatus, U, E, Self::Config>
where Self: Sized,

Provides a set of reasonable default callbacks specific to this Algorithm.
Source§

fn postprocessing( &mut self, problem: &P, status: &mut S, args: &U, config: &Self::Config, ) -> Result<(), E>

Runs any steps needed by the Algorithm after termination or convergence. This will run regardless of whether the Algorithm converged. Read more
Source§

fn process<C>( &mut self, problem: &P, args: &U, init: Self::Init, config: Self::Config, callbacks: C, ) -> Result<Self::Summary, E>
where C: Into<Callbacks<Self, P, S, U, E, Self::Config>>, Self: Sized,

Process the given problem using this Algorithm. Read more
Source§

fn process_with_default_callbacks( &mut self, problem: &P, user_data: &U, init: Self::Init, config: Self::Config, ) -> Result<Self::Summary, E>
where Self: Sized,

Process the given problem using this Algorithm and the algorithm’s default callbacks. Read more
Source§

fn process_default( &mut self, problem: &P, user_data: &U, init: Self::Init, ) -> Result<Self::Summary, E>
where Self: Sized, Self::Config: Default,

Process the given problem using this Algorithm with default config and default callbacks. Read more
Source§

impl<P, U, E> Algorithm<P, GradientStatus, U, E> for LBFGSB
where P: Gradient<U, E>,

Source§

type Summary = MinimizationSummary

A type which holds a summary of the algorithm’s ending state.
Source§

type Config = LBFGSBConfig

The configuration struct for the algorithm.
Source§

type Init = Matrix<f64, Dyn, Const<1>, VecStorage<f64, Dyn, Const<1>>>

The initialization payload for a single run.
Source§

fn initialize( &mut self, problem: &P, status: &mut GradientStatus, args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<(), E>

Any setup work done before the main steps of the algorithm should be done here. Read more
Source§

fn step( &mut self, _current_step: usize, problem: &P, status: &mut GradientStatus, args: &U, config: &Self::Config, ) -> Result<(), E>

The main “step” of an algorithm, which is repeated until termination conditions are met or the max number of steps have been taken. Read more
Source§

fn postprocessing( &mut self, problem: &P, status: &mut GradientStatus, args: &U, config: &Self::Config, ) -> Result<(), E>

Runs any steps needed by the Algorithm after termination or convergence. This will run regardless of whether the Algorithm converged. Read more
Source§

fn summarize( &self, _current_step: usize, _problem: &P, status: &GradientStatus, _args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<Self::Summary, E>

Generates a new Algorithm::Summary from the current state of the Algorithm, which can be displayed or used elsewhere. Read more
Source§

fn reset(&mut self)

Reset the algorithm to its initial state.
Source§

fn default_callbacks() -> Callbacks<Self, P, GradientStatus, U, E, Self::Config>
where Self: Sized,

Provides a set of reasonable default callbacks specific to this Algorithm.
Source§

fn process<C>( &mut self, problem: &P, args: &U, init: Self::Init, config: Self::Config, callbacks: C, ) -> Result<Self::Summary, E>
where C: Into<Callbacks<Self, P, S, U, E, Self::Config>>, Self: Sized,

Process the given problem using this Algorithm. Read more
Source§

fn process_with_default_callbacks( &mut self, problem: &P, user_data: &U, init: Self::Init, config: Self::Config, ) -> Result<Self::Summary, E>
where Self: Sized,

Process the given problem using this Algorithm and the algorithm’s default callbacks. Read more
Source§

fn process_default( &mut self, problem: &P, user_data: &U, init: Self::Init, ) -> Result<Self::Summary, E>
where Self: Sized, Self::Config: Default,

Process the given problem using this Algorithm with default config and default callbacks. Read more
Source§

impl<P, U, E> Algorithm<P, GradientStatus, U, E> for TrustRegion
where P: Gradient<U, E>,

Source§

type Summary = MinimizationSummary

A type which holds a summary of the algorithm’s ending state.
Source§

type Config = TrustRegionConfig

The configuration struct for the algorithm.
Source§

type Init = Matrix<f64, Dyn, Const<1>, VecStorage<f64, Dyn, Const<1>>>

The initialization payload for a single run.
Source§

fn initialize( &mut self, problem: &P, status: &mut GradientStatus, args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<(), E>

Any setup work done before the main steps of the algorithm should be done here. Read more
Source§

fn step( &mut self, _current_step: usize, problem: &P, status: &mut GradientStatus, args: &U, config: &Self::Config, ) -> Result<(), E>

The main “step” of an algorithm, which is repeated until termination conditions are met or the max number of steps have been taken. Read more
Source§

fn postprocessing( &mut self, problem: &P, status: &mut GradientStatus, args: &U, config: &Self::Config, ) -> Result<(), E>

Runs any steps needed by the Algorithm after termination or convergence. This will run regardless of whether the Algorithm converged. Read more
Source§

fn summarize( &self, _current_step: usize, _problem: &P, status: &GradientStatus, _args: &U, init: &Self::Init, config: &Self::Config, ) -> Result<Self::Summary, E>

Generates a new Algorithm::Summary from the current state of the Algorithm, which can be displayed or used elsewhere. Read more
Source§

fn reset(&mut self)

Reset the algorithm to its initial state.
Source§

fn default_callbacks() -> Callbacks<Self, P, GradientStatus, U, E, Self::Config>
where Self: Sized,

Provides a set of reasonable default callbacks specific to this Algorithm.
Source§

fn process<C>( &mut self, problem: &P, args: &U, init: Self::Init, config: Self::Config, callbacks: C, ) -> Result<Self::Summary, E>
where C: Into<Callbacks<Self, P, S, U, E, Self::Config>>, Self: Sized,

Process the given problem using this Algorithm. Read more
Source§

fn process_with_default_callbacks( &mut self, problem: &P, user_data: &U, init: Self::Init, config: Self::Config, ) -> Result<Self::Summary, E>
where Self: Sized,

Process the given problem using this Algorithm and the algorithm’s default callbacks. Read more
Source§

fn process_default( &mut self, problem: &P, user_data: &U, init: Self::Init, ) -> Result<Self::Summary, E>
where Self: Sized, Self::Config: Default,

Process the given problem using this Algorithm with default config and default callbacks. Read more
Source§

impl<P, U, E> CheckpointableAlgorithm<P, GradientStatus, U, E> for LBFGSB
where P: Gradient<U, E>,

Source§

type Checkpoint = LBFGSBCheckpoint

The checkpoint type used to resume the algorithm.
Source§

fn checkpoint( &self, status: &GradientStatus, next_step: usize, ) -> Self::Checkpoint

Create a checkpoint that resumes at next_step.
Source§

fn restore( &mut self, checkpoint: &Self::Checkpoint, config: &Self::Config, ) -> (GradientStatus, usize)

Restore the algorithm and status from a prior checkpoint. Read more
Source§

fn process_from_checkpoint<C>( &mut self, problem: &P, args: &U, init: Self::Init, config: Self::Config, checkpoint: &Self::Checkpoint, callbacks: C, ) -> Result<Self::Summary, E>
where C: Into<Callbacks<Self, P, S, U, E, Self::Config>>, Self: Sized,

Continue processing from a prior checkpoint. Read more
Source§

impl Clone for GradientStatus

Source§

fn clone(&self) -> GradientStatus

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 GradientStatus

Source§

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

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

impl Default for GradientStatus

Source§

fn default() -> GradientStatus

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

impl<'de> Deserialize<'de> for GradientStatus

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<U, E> LineSearch<GradientStatus, U, E> for BacktrackingLineSearch

Source§

fn search( &mut self, x: &DVector<Float>, p: &DVector<Float>, max_step: Option<Float>, problem: &dyn Gradient<U, E>, _bounds: Option<&Bounds>, args: &U, status: &mut GradientStatus, ) -> Result<Result<LineSearchOutput, LineSearchOutput>, E>

The search method takes the current position of the minimizer, x, the search direction p, the objective function func, optional bounds bounds, and any arguments to the objective function args, and returns a Result containing another Result. The outer Result tells the caller if the line search encountered any errors in evaluating cost functions or gradients, while the inner Result indicates if the line search algorithm found a valid step. Even if the line search failed to find a valid step, it will still return the best LineSearchOutput found, as there are some cases where this is recoverable. For example, some line searches will hit the maximum number of iterations for an interval bisection if x is the true minimum, in which case a search between x + eps and x + anything will never improve upon x itself. Individual algorithms should determine how to handle these edge cases. Read more
Source§

impl<U, E> LineSearch<GradientStatus, U, E> for HagerZhangLineSearch

Source§

fn search( &mut self, x0: &DVector<Float>, p: &DVector<Float>, max_step: Option<Float>, problem: &dyn Gradient<U, E>, _bounds: Option<&Bounds>, args: &U, status: &mut GradientStatus, ) -> Result<Result<LineSearchOutput, LineSearchOutput>, E>

The search method takes the current position of the minimizer, x, the search direction p, the objective function func, optional bounds bounds, and any arguments to the objective function args, and returns a Result containing another Result. The outer Result tells the caller if the line search encountered any errors in evaluating cost functions or gradients, while the inner Result indicates if the line search algorithm found a valid step. Even if the line search failed to find a valid step, it will still return the best LineSearchOutput found, as there are some cases where this is recoverable. For example, some line searches will hit the maximum number of iterations for an interval bisection if x is the true minimum, in which case a search between x + eps and x + anything will never improve upon x itself. Individual algorithms should determine how to handle these edge cases. Read more
Source§

impl<U, E> LineSearch<GradientStatus, U, E> for MoreThuenteLineSearch

Source§

fn search( &mut self, x0: &DVector<Float>, p: &DVector<Float>, max_step: Option<Float>, problem: &dyn Gradient<U, E>, _bounds: Option<&Bounds>, args: &U, status: &mut GradientStatus, ) -> Result<Result<LineSearchOutput, LineSearchOutput>, E>

The search method takes the current position of the minimizer, x, the search direction p, the objective function func, optional bounds bounds, and any arguments to the objective function args, and returns a Result containing another Result. The outer Result tells the caller if the line search encountered any errors in evaluating cost functions or gradients, while the inner Result indicates if the line search algorithm found a valid step. Even if the line search failed to find a valid step, it will still return the best LineSearchOutput found, as there are some cases where this is recoverable. For example, some line searches will hit the maximum number of iterations for an interval bisection if x is the true minimum, in which case a search between x + eps and x + anything will never improve upon x itself. Individual algorithms should determine how to handle these edge cases. Read more
Source§

impl<U, E> LineSearch<GradientStatus, U, E> for StrongWolfeLineSearch

Source§

fn search( &mut self, x: &DVector<Float>, p: &DVector<Float>, max_step: Option<Float>, problem: &dyn Gradient<U, E>, bounds: Option<&Bounds>, args: &U, status: &mut GradientStatus, ) -> Result<Result<LineSearchOutput, LineSearchOutput>, E>

The search method takes the current position of the minimizer, x, the search direction p, the objective function func, optional bounds bounds, and any arguments to the objective function args, and returns a Result containing another Result. The outer Result tells the caller if the line search encountered any errors in evaluating cost functions or gradients, while the inner Result indicates if the line search algorithm found a valid step. Even if the line search failed to find a valid step, it will still return the best LineSearchOutput found, as there are some cases where this is recoverable. For example, some line searches will hit the maximum number of iterations for an interval bisection if x is the true minimum, in which case a search between x + eps and x + anything will never improve upon x itself. Individual algorithms should determine how to handle these edge cases. Read more
Source§

impl ProgressStatus for GradientStatus

Source§

fn write_progress(&self, out: &mut String) -> Result

Write a status-specific progress payload into out. Read more
Source§

impl Serialize for GradientStatus

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 Status for GradientStatus

Source§

fn reset(&mut self)

Resets the status to its default state. This is called at the beginning of every Algorithm::process run. Only members that are not persistent between runs should be reset. For example, the initial parameters of a minimization should not be reset.
Source§

fn message(&self) -> &StatusMessage

Returns the message of the minimization.
Source§

fn set_message(&mut self) -> &mut StatusMessage

Sets the message of the minimization.
Source§

fn success(&self) -> bool

Returns true if the algorithm has terminated successfully
Source§

impl<P, U, E> Terminator<Adam, P, GradientStatus, U, E, AdamConfig> for AdamEMATerminator
where P: Gradient<U, E>,

Source§

fn check_for_termination( &mut self, _current_step: usize, algorithm: &mut Adam, _problem: &P, status: &mut GradientStatus, _args: &U, _config: &AdamConfig, ) -> ControlFlow<()>

A termination check which is called on each step of an Algorithm.
Source§

impl<P, U, E> Terminator<ConjugateGradient, P, GradientStatus, U, E, ConjugateGradientConfig> for ConjugateGradientGTerminator
where P: Gradient<U, E>,

Source§

fn check_for_termination( &mut self, _current_step: usize, algorithm: &mut ConjugateGradient, _problem: &P, status: &mut GradientStatus, _args: &U, _config: &ConjugateGradientConfig, ) -> ControlFlow<()>

A termination check which is called on each step of an Algorithm.
Source§

impl<P, U, E> Terminator<LBFGSB, P, GradientStatus, U, E, LBFGSBConfig> for LBFGSBFTerminator
where P: Gradient<U, E>,

Source§

fn check_for_termination( &mut self, _current_step: usize, algorithm: &mut LBFGSB, _problem: &P, status: &mut GradientStatus, _args: &U, _config: &LBFGSBConfig, ) -> ControlFlow<()>

A termination check which is called on each step of an Algorithm.
Source§

impl<P, U, E> Terminator<LBFGSB, P, GradientStatus, U, E, LBFGSBConfig> for LBFGSBGTerminator
where P: Gradient<U, E>,

Source§

fn check_for_termination( &mut self, _current_step: usize, algorithm: &mut LBFGSB, _problem: &P, status: &mut GradientStatus, _args: &U, _config: &LBFGSBConfig, ) -> ControlFlow<()>

A termination check which is called on each step of an Algorithm.
Source§

impl<P, U, E> Terminator<LBFGSB, P, GradientStatus, U, E, LBFGSBConfig> for LBFGSBInfNormGTerminator
where P: Gradient<U, E>,

Source§

fn check_for_termination( &mut self, _current_step: usize, algorithm: &mut LBFGSB, _problem: &P, status: &mut GradientStatus, _args: &U, _config: &LBFGSBConfig, ) -> ControlFlow<()>

A termination check which is called on each step of an Algorithm.
Source§

impl<P, U, E> Terminator<TrustRegion, P, GradientStatus, U, E, TrustRegionConfig> for TrustRegionGTerminator
where P: Gradient<U, E>,

Source§

fn check_for_termination( &mut self, _current_step: usize, algorithm: &mut TrustRegion, _problem: &P, status: &mut GradientStatus, _args: &U, _config: &TrustRegionConfig, ) -> ControlFlow<()>

A termination check which is called on each step of an Algorithm.

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, 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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> TransformExt for T

Source§

fn compose<T2>(self, t2: T2) -> Compose<Self, T2>

Compose a transform with another. 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,