style: Remove implement entirely

This commit is contained in:
timedout committed 2026-06-27 18:36:44 +01:00
1 parent 3eb4257ae8
commit 0310b4b2c5
2 files changed
-41

No files matched your search

-35
View File
@@ -1,35 +0,0 @@
use proc_macro::{Span, TokenStream};
use quote::quote;
use syn::{Error, ItemFn, Meta, Path};
use utils::get_named_generics;
use crate::{Result, utils};
pub(super) fn implement(item: ItemFn, args: &[Meta]) -> Result<TokenStream> {
let generics = get_named_generics(args, "generics")?;
let receiver = get_receiver(args)?;
let params = get_named_generics(args, "params")?;
let input = item;
let out = quote! {
impl #generics #receiver #params {
#input
}
};
Ok(out.into())
}
fn get_receiver(args: &[Meta]) -> Result<Path> {
let receiver = &args.first().ok_or_else(|| {
Error::new(Span::call_site().into(), "Missing required argument to receiver")
})?;
let Meta::Path(receiver) = receiver else {
return Err(Error::new(
Span::call_site().into(),
"First argument is not path to receiver",
));
};
Ok(receiver.clone())
}
-6
View File
@@ -2,7 +2,6 @@ mod admin;
mod build_info;
mod config;
mod debug;
mod implement;
mod refutable;
mod utils;
@@ -35,11 +34,6 @@ pub fn refutable(args: TokenStream, input: TokenStream) -> TokenStream {
attribute_macro::<ItemFn, _>(args, input, refutable::refutable)
}
#[proc_macro_attribute]
pub fn implement(args: TokenStream, input: TokenStream) -> TokenStream {
attribute_macro::<ItemFn, _>(args, input, implement::implement)
}
#[proc_macro_attribute]
pub fn config_example_generator(args: TokenStream, input: TokenStream) -> TokenStream {
attribute_macro::<ItemStruct, _>(args, input, config::example_generator)