cgp_field/traits/
update_field.rs

1use core::marker::PhantomData;
2
3use crate::traits::MapType;
4
5pub trait UpdateField<Tag, M: MapType> {
6    type Value;
7
8    type Mapper: MapType;
9
10    type Output;
11
12    fn update_field(
13        self,
14        _tag: PhantomData<Tag>,
15        value: M::Map<Self::Value>,
16    ) -> (<Self::Mapper as MapType>::Map<Self::Value>, Self::Output);
17}