Macro contains

Source
macro_rules! contains {
    ($selector:expr, $field:ident) => { ... };
    ($selector:expr, $field1:ident . $field2:ident) => { ... };
    ($selector:expr, $field:ident . $($rest:ident).+) => { ... };
}
Expand description

Check if a field path is enabled in a field selector.

This macro uses non-recursive Option chaining for levels 1-2, and recursive calls for deeper nesting (3+ levels) to balance performance and simplicity.

ยงExamples

let mut selector = user.serialize_fields();
selector.enable_dot_hierarchy("id");
selector.enable_dot_hierarchy("profile.bio");

assert!(contains!(selector, id));
assert!(contains!(selector, profile.bio));
assert!(!contains!(selector, name));