From 47b135ce63e7a0c0f2ebfcf518dbb13e68b5eddc Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 18 Jul 2022 21:14:14 +0200 Subject: refactor: rename the castable_to macro to declare_interface --- syrette_macros/src/declare_interface_args.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 syrette_macros/src/declare_interface_args.rs (limited to 'syrette_macros/src/declare_interface_args.rs') diff --git a/syrette_macros/src/declare_interface_args.rs b/syrette_macros/src/declare_interface_args.rs new file mode 100644 index 0000000..b54f458 --- /dev/null +++ b/syrette_macros/src/declare_interface_args.rs @@ -0,0 +1,23 @@ +use syn::parse::{Parse, ParseStream, Result}; +use syn::{Path, Token, Type}; + +pub struct DeclareInterfaceArgs +{ + pub implementation: Type, + pub interface: Path, +} + +impl Parse for DeclareInterfaceArgs +{ + fn parse(input: ParseStream) -> Result + { + let implementation: Type = input.parse()?; + + input.parse::]>()?; + + Ok(Self { + implementation, + interface: input.parse()?, + }) + } +} -- cgit v1.2.3-18-g5258