diff --git a/examples/proc_macro/BUILD.bazel b/examples/proc_macro/BUILD.bazel
new file mode 100644
index 0000000..2f49c4d
--- /dev/null
+++ b/examples/proc_macro/BUILD.bazel
@@ -0,0 +1,47 @@
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_doc",
+    "rust_doc_test",
+    "rust_proc_macro",
+    "rust_test",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+rust_proc_macro(
+    name = "proc_macro_lib_2015",
+    srcs = [
+        "src/lib_2015.rs",
+    ],
+)
+
+rust_proc_macro(
+    name = "proc_macro_lib",
+    srcs = [
+        "src/lib.rs",
+    ],
+    edition = "2018",
+)
+
+rust_test(
+    name = "proc_macro_test",
+    crate = ":proc_macro_lib",
+    edition = "2018",
+)
+
+rust_test(
+    name = "greeting_test",
+    srcs = ["tests/greeting.rs"],
+    edition = "2018",
+    proc_macro_deps = [":proc_macro_lib"],
+)
+
+rust_doc(
+    name = "proc_macro_lib_doc",
+    crate = ":proc_macro_lib",
+)
+
+rust_doc_test(
+    name = "doc_test",
+    crate = ":proc_macro_lib",
+)
diff --git a/examples/proc_macro/src/lib.rs b/examples/proc_macro/src/lib.rs
new file mode 100644
index 0000000..87b9d47
--- /dev/null
+++ b/examples/proc_macro/src/lib.rs
@@ -0,0 +1,25 @@
+// Copyright 2020 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// This differs from the edition 2015 version because it does not have an `extern proc_macro`
+// statement, which became optional in edition 2018.
+
+use proc_macro::TokenStream;
+
+/// This macro is a no-op; it is exceedingly simple as a result
+/// of avoiding dependencies on both the syn and quote crates.
+#[proc_macro_derive(HelloWorld)]
+pub fn hello_world(_input: TokenStream) -> TokenStream {
+    TokenStream::new()
+}
diff --git a/examples/proc_macro/src/lib_2015.rs b/examples/proc_macro/src/lib_2015.rs
new file mode 100644
index 0000000..b74e5c5
--- /dev/null
+++ b/examples/proc_macro/src/lib_2015.rs
@@ -0,0 +1,24 @@
+// Copyright 2020 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+extern crate proc_macro;
+
+use proc_macro::TokenStream;
+
+/// This macro is a no-op; it is exceedingly simple as a result
+/// of avoiding dependencies on both the syn and quote crates.
+#[proc_macro_derive(HelloWorld)]
+pub fn hello_world(_input: TokenStream) -> TokenStream {
+    TokenStream::new()
+}
diff --git a/examples/proc_macro/tests/greeting.rs b/examples/proc_macro/tests/greeting.rs
new file mode 100644
index 0000000..e58b639
--- /dev/null
+++ b/examples/proc_macro/tests/greeting.rs
@@ -0,0 +1,23 @@
+// Copyright 2020 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use proc_macro_lib::HelloWorld;
+
+#[derive(HelloWorld)]
+struct TestStruct {}
+
+#[test]
+fn test_hello_world_macro() {
+    let _ = TestStruct {};
+}
