pub(crate) fn is_ok_expr(expr: &syn::Expr) -> bool {
if let syn::Expr::Call(call) = expr
&& let syn::Expr::Path(path) = &*call.func
{
return is_path_ok(&path.path);
}
false
}
pub(crate) fn is_err_expr(expr: &syn::Expr) -> bool {
if let syn::Expr::Call(call) = expr
&& let syn::Expr::Path(path) = &*call.func
{
return is_path_err(&path.path);
}
false
}
fn is_path_ok(path: &syn::Path) -> bool {
path.segments.len() == 1
&& path.segments[0].ident == "Ok"
&& matches!(path.segments[0].arguments, syn::PathArguments::None)
}
fn is_path_err(path: &syn::Path) -> bool {
path.segments.len() == 1
&& path.segments[0].ident == "Err"
&& matches!(path.segments[0].arguments, syn::PathArguments::None)
}