c_api_tools_macros/
lib.rs

1//! C API tools macros
2#![cfg_attr(feature = "strict", deny(warnings), deny(unused_crate_dependencies))]
3#![warn(missing_docs)]
4
5mod attribute_c_wrappers;
6mod attribute_concretise_types;
7
8use attribute_c_wrappers::c_wrapper_impl;
9use attribute_concretise_types::concretise_type_impl;
10use proc_macro::TokenStream;
11
12/// C functions
13#[proc_macro_attribute]
14pub fn cfuncs(args: TokenStream, item: TokenStream) -> TokenStream {
15    c_wrapper_impl(args, item)
16}
17
18/// Concretise types
19#[proc_macro_attribute]
20pub fn concretise_types(args: TokenStream, item: TokenStream) -> TokenStream {
21    concretise_type_impl(args, item)
22}