Trait spirt::transform::InnerTransform
source · 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).