proc_macro3/lib.rs
1#[cfg(feature = "proc-macro2")]
2#[doc(hidden)]
3pub use proc_macro2 as _proc_macro2_impl;
4#[cfg(not(feature = "proc-macro2"))]
5#[doc(hidden)]
6pub mod _proc_macro2_impl {}
7
8/// creates a module with any name (by default `proc_macro`) that
9/// re-exports either all of `proc_macro` or all of `proc_macro2` items.
10///
11/// should not be used in a `proc-macro` context if the `proc_macro2` feature is set
12#[macro_export]
13macro_rules! import {
14 ($name:ident) => {
15 mod $name {
16 use $crate::_proc_macro2_impl::*;
17 #[cfg(proc_macro)]
18 extern crate proc_macro as _proc_macro_impl;
19 pub use _proc_macro_impl::*;
20 }
21 };
22 () => { import!(proc_macro) };
23}