pub struct SerializeFields<'a, T, S>(pub &'a T, pub &'a S);
Expand description
A wrapper struct that combines data with a field selector for serialization.
This is the core type that enables dynamic field selection. It wraps your data
and a field selector, implementing Serialize
to only include enabled fields.
§Type Parameters
T
: The type of data being serializedS
: The type of field selector (typically generated by the derive macro)
§Examples
let wrapper = SerializeFields(&user, &selector);
let json = serde_json::to_string(&wrapper).unwrap();
Tuple Fields§
§0: &'a T
§1: &'a S
Trait Implementations§
Source§impl<'a, T, S> Serialize for SerializeFields<'a, Option<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
impl<'a, T, S> Serialize for SerializeFields<'a, Option<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
Source§impl<'a, T, S> Serialize for SerializeFields<'a, T, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
impl<'a, T, S> Serialize for SerializeFields<'a, T, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
Source§impl<'a, T, S> Serialize for SerializeFields<'a, Vec<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
impl<'a, T, S> Serialize for SerializeFields<'a, Vec<T>, S>where
T: SerializeFieldsTrait<FieldSelector = S>,
S: FieldSelector,
Auto Trait Implementations§
impl<'a, T, S> Freeze for SerializeFields<'a, T, S>
impl<'a, T, S> RefUnwindSafe for SerializeFields<'a, T, S>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<'a, T, S> Send for SerializeFields<'a, T, S>
impl<'a, T, S> Sync for SerializeFields<'a, T, S>
impl<'a, T, S> Unpin for SerializeFields<'a, T, S>
impl<'a, T, S> UnwindSafe for SerializeFields<'a, T, S>where
T: RefUnwindSafe,
S: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more