chiark / gitweb /
use in-workspace macro
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 5 Jun 2026 10:13:38 +0000 (11:13 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 5 Jun 2026 10:13:38 +0000 (11:13 +0100)
Cargo.lock
Cargo.toml
macros/Cargo.toml [new file with mode: 0644]
macros/macros.rs [new file with mode: 0644]
src/lib.rs

index ff7760ce9be281e19eb40f85ab5f699dd23d3701..c42ef15374429e0316592cd4ed3b85fb2b8d9637 100644 (file)
@@ -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"
index 7dfda9b79d19bc2807ccd586ca56d19bc31e68cb..3b8cd64cdcf57d57c209f32c5a64c5183ef48d86 100644 (file)
@@ -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 (file)
index 0000000..2b27921
--- /dev/null
@@ -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 (file)
index 0000000..2842ed7
--- /dev/null
@@ -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")
+}
index 6f5d590d9742a6efc7c3160437056d45ff1995f4..67a8c7766475f550e31f8f8de154e4edea35e485 100644 (file)
@@ -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 { {} => {} }