Skip to main content

merge_patch_segments

Function merge_patch_segments 

Source
pub fn merge_patch_segments<S: ToTokens + ?Sized>(
    name: &Ident,
    span: &S,
    what: &str,
) -> Result<Vec<String>>
Expand description

The pascal-case segments of the name of a merge patch struct: MergePatch followed by at least two more (e.g. MergePatchOrderModel); errors are reported at span, calling the struct what.

§Errors

Returns an error when name is not such a name.

§Examples

let name: syn::Ident = syn::parse_quote!(MergePatchOrderModel);
let misnamed: syn::Ident = syn::parse_quote!(PatchOrderModel);

assert_eq!(merge_patch_segments(&name, &name, "struct").unwrap().len(), 4);
assert!(merge_patch_segments(&misnamed, &misnamed, "struct").is_err());