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());