pub fn ewc<F, T, E>(callback: F) -> Result<T, E>Examples found in repository?
examples/test-expand.rs (lines 64-66)
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
fn try_from(v: &syn_args::Value) -> Result<Self, Self::Error> {
if let syn_args::Value::Array(v) = v {
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| {
Ok(ModuleArgs::F1(syn_args::utils::otr(v.get(0usize))?.try_into()?, syn_args::utils::otr(v.get(1usize))?.try_into()?))
}) {
return Ok(rt);
}
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| Ok(ModuleArgs::F2(syn_args::utils::otr(v.get(0usize))?.try_into()?))) {
return Ok(rt);
}
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| Ok(ModuleArgs::F3(syn_args::utils::otr(v.get(0usize))?.try_into()?))) {
return Ok(rt);
}
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| Ok(ModuleArgs::F4(syn_args::utils::otr(v.get(0usize))?.try_into()?))) {
return Ok(rt);
}
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| Ok(ModuleArgs::F5(syn_args::utils::otr(v.get(0usize))?.try_into()?))) {
return Ok(rt);
}
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| Ok(ModuleArgs::F6(syn_args::utils::otr(v.get(0usize))?.try_into()?))) {
return Ok(rt);
}
if let Ok(rt) = syn_args::utils::ewc::<_, _, anyhow::Error>(|| Ok(ModuleArgs::F7(syn_args::utils::otr(v.get(0usize))?.try_into()?))) {
return Ok(rt);
}
}
Err(Self::Error::new(proc_macro2::Span::call_site(), "Invalid args"))
}