From 0cb4daeae4e3fb644a015aa11d29aebac59e4b33 Mon Sep 17 00:00:00 2001 From: Nico Burns Date: Sat, 26 Sep 2026 23:47:14 +0000 Subject: [PATCH] config-macro: drop quote and proc-macro2 dependencies --- Cargo.lock | 4 ---- packages/config-macro/Cargo.toml | 2 -- packages/config-macro/src/lib.rs | 20 +++++++------------- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c1dffb9b6a..e8169873d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3389,10 +3389,6 @@ dependencies = [ [[package]] name = "dioxus-config-macro" version = "0.8.0-alpha.1" -dependencies = [ - "proc-macro2", - "quote", -] [[package]] name = "dioxus-config-macros" diff --git a/packages/config-macro/Cargo.toml b/packages/config-macro/Cargo.toml index 53bd8aee94..bf4d9dfdca 100644 --- a/packages/config-macro/Cargo.toml +++ b/packages/config-macro/Cargo.toml @@ -13,8 +13,6 @@ keywords = ["web", "desktop", "mobile", "gui", "wasm"] proc-macro = true [dependencies] -proc-macro2 = { workspace = true } -quote = { workspace = true } [features] default = [] diff --git a/packages/config-macro/src/lib.rs b/packages/config-macro/src/lib.rs index c555daea67..4a3adcf1c3 100644 --- a/packages/config-macro/src/lib.rs +++ b/packages/config-macro/src/lib.rs @@ -2,27 +2,21 @@ #![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")] #![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")] -use proc_macro::TokenStream; -use proc_macro2::TokenStream as TokenStream2; -use quote::quote; +use proc_macro::{Delimiter, Group, TokenStream, TokenTree}; + +fn group(delimiter: Delimiter, stream: TokenStream) -> TokenStream { + TokenTree::Group(Group::new(delimiter, stream)).into() +} macro_rules! define_config_macro { ($name:ident if $($cfg:tt)+) => { #[proc_macro] pub fn $name(input: TokenStream) -> TokenStream { if cfg!($($cfg)+) { - let input = TokenStream2::from(input); - quote! { - { - #input - } - } + group(Delimiter::Brace, input) } else { - quote! { - () - } + group(Delimiter::Parenthesis, TokenStream::new()) } - .into() } }; }