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.