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}