From 8669a479428da419678d538a035ebfb235b9334d Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 5 Jun 2026 11:13:38 +0100 Subject: [PATCH] use in-workspace macro --- Cargo.lock | 7 ++++++- Cargo.toml | 6 +++++- macros/Cargo.toml | 9 +++++++++ macros/macros.rs | 15 +++++++++++++++ src/lib.rs | 11 +++-------- 5 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 macros/Cargo.toml create mode 100644 macros/macros.rs diff --git a/Cargo.lock b/Cargo.lock index ff7760c..c42ef15 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -84,12 +84,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] -name = "foo" +name = "experiments" version = "0.1.0" dependencies = [ "derive-deftly", + "experiments-macros", ] +[[package]] +name = "experiments-macros" +version = "0.1.0" + [[package]] name = "hashbrown" version = "0.17.1" diff --git a/Cargo.toml b/Cargo.toml index 7dfda9b..3b8cd64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,12 @@ [package] -name = "foo" +name = "experiments" version = "0.1.0" edition = "2021" rust-version = "1.85.1" [dependencies] derive-deftly = "1" +experiments-macros = { path = "macros" } + +[workspace] +members = ["macros"] diff --git a/macros/Cargo.toml b/macros/Cargo.toml new file mode 100644 index 0000000..2b27921 --- /dev/null +++ b/macros/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "experiments-macros" +version = "0.1.0" +edition = "2021" +rust-version = "1.85.1" + +[lib] +path = "macros.rs" +proc-macro = true diff --git a/macros/macros.rs b/macros/macros.rs new file mode 100644 index 0000000..2842ed7 --- /dev/null +++ b/macros/macros.rs @@ -0,0 +1,15 @@ + +use proc_macro::TokenStream; + +#[proc_macro] +pub fn define_earlier(_input: TokenStream) -> TokenStream{ + r#" + +#[doc = " Doc comment"] +#[doc = ""] +#[doc = " [Reference](later)"] +macro_rules! earlier { {} => {} } + + "# + .parse().expect("parse fixed macro output") +} diff --git a/src/lib.rs b/src/lib.rs index 6f5d590..67a8c77 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,12 +1,7 @@ -use derive_deftly::define_derive_deftly; - -define_derive_deftly! { - /// Doc comment - /// - /// [Reference](later) - Earlier: -} +use experiments_macros::define_earlier; + +define_earlier! {} macro_rules! later { {} => {} } -- 2.30.2