aboutsummaryrefslogtreecommitdiff
path: root/crates/proc_macro_test
diff options
context:
space:
mode:
authorJonas Schievink <[email protected]>2020-08-14 23:19:47 +0100
committerJonas Schievink <[email protected]>2020-08-14 23:27:32 +0100
commitcb816b1ea87b24f34eeecfdd98aeeb629915d661 (patch)
tree4928418a4f8d49f030e0689131f4d48dd59dc555 /crates/proc_macro_test
parentc2594daf2974dbd4ce3d9b7ec72481764abaceb5 (diff)
Add a proc_macro_test crate
This exports all 3 kinds of proc macros and is useful for testing
Diffstat (limited to 'crates/proc_macro_test')
-rw-r--r--crates/proc_macro_test/Cargo.toml10
-rw-r--r--crates/proc_macro_test/src/lib.rs18
2 files changed, 28 insertions, 0 deletions
diff --git a/crates/proc_macro_test/Cargo.toml b/crates/proc_macro_test/Cargo.toml
new file mode 100644
index 000000000..7b0f64f31
--- /dev/null
+++ b/crates/proc_macro_test/Cargo.toml
@@ -0,0 +1,10 @@
1[package]
2name = "proc_macro_test"
3version = "0.0.0"
4license = "MIT OR Apache-2.0"
5authors = ["rust-analyzer developers"]
6edition = "2018"
7
8[lib]
9doctest = false
10proc-macro = true
diff --git a/crates/proc_macro_test/src/lib.rs b/crates/proc_macro_test/src/lib.rs
new file mode 100644
index 000000000..ec2a114a3
--- /dev/null
+++ b/crates/proc_macro_test/src/lib.rs
@@ -0,0 +1,18 @@
1//! Exports a few trivial procedural macros for testing.
2
3use proc_macro::TokenStream;
4
5#[proc_macro]
6pub fn function_like_macro(args: TokenStream) -> TokenStream {
7 args
8}
9
10#[proc_macro_attribute]
11pub fn attribute_macro(_args: TokenStream, item: TokenStream) -> TokenStream {
12 item
13}
14
15#[proc_macro_derive(DummyTrait)]
16pub fn derive_macro(_item: TokenStream) -> TokenStream {
17 TokenStream::new()
18}