api-macro: start checking some function signature parts

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
Wolfgang Bumiller 2019-11-27 11:04:36 +01:00
parent ebda5a3c5c
commit 09d1363fa0

View File

@ -297,6 +297,8 @@ pub(crate) fn api(attr: TokenStream, item: TokenStream) -> Result<TokenStream, E
api_function_attributes(&mut input_schema, &mut returns_schema, &mut func.attrs)?;
handle_function_signature(&mut input_schema, &mut returns_schema, &mut func)?;
let input_schema = {
let mut ts = TokenStream::new();
input_schema.to_schema(&mut ts)?;
@ -394,3 +396,17 @@ fn derive_descriptions(
Ok(())
}
fn handle_function_signature(
_input_schema: &mut Schema,
_returns_schema: &mut Schema,
func: &mut syn::ItemFn,
) -> Result<(), Error> {
let sig = &func.sig;
if sig.asyncness.is_some() {
bail!(sig => "async fn is currently not supported");
}
Ok(())
}