pub trait InnerTransform: Sized {
// Required method
fn inner_transform_with(
&self,
transformer: &mut impl Transformer,
) -> Transformed<Self>;
}Expand description
Trait implemented on “transformable” types, to further “elaborate” a type by transforming its “interior” (i.e. variants and/or fields).
That is, an impl InnerTransform for X will call the relevant Transformer
method for each X field, effectively performing a single level of a deep
transform.
Also, if Transformer::transform_X exists for a given X, its default should
be to call X::inner_transform_with (i.e. so that transforming is mostly-deep
by default).
Required Methods§
fn inner_transform_with( &self, transformer: &mut impl Transformer, ) -> Transformed<Self>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.