Skip to main content

pascal_case_segments

Function pascal_case_segments 

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

The pascal-case segments of the struct name name, which must have at least min_segments; errors are reported at span, calling the struct what (e.g. “struct”, “merge patch model”).

§Errors

Returns an error when name is not pascal cased, or has too few segments.

§Examples

let name: syn::Ident = syn::parse_quote!(OrderModel);

assert_eq!(
    pascal_case_segments(&name, &name, "struct", 2).unwrap(),
    vec!["Order", "Model"]
);
assert!(pascal_case_segments(&name, &name, "struct", 3).is_err());