From 58f3f7b0810ff2349cec21395ee066dc2df004a7 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Sat, 14 Jul 2018 12:06:50 -0700 Subject: [PATCH] Clarify how the quote macro is loaded --- src/libproc_macro/lib.rs | 2 ++ src/libproc_macro/quote.rs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/libproc_macro/lib.rs b/src/libproc_macro/lib.rs index 7c0cf9eaddeb..ecc66e869ae7 100644 --- a/src/libproc_macro/lib.rs +++ b/src/libproc_macro/lib.rs @@ -236,6 +236,8 @@ pub mod token_stream { /// /// Unquoting is done with `$`, and works by taking the single next ident as the unquoted term. /// To quote `$` itself, use `$$`. +/// +/// This is a dummy macro, the actual implementation is in quote::Quoter #[unstable(feature = "proc_macro", issue = "38356")] #[macro_export] macro_rules! quote { () => {} } diff --git a/src/libproc_macro/quote.rs b/src/libproc_macro/quote.rs index 4cd822aa9d0b..73a66640c59d 100644 --- a/src/libproc_macro/quote.rs +++ b/src/libproc_macro/quote.rs @@ -21,6 +21,9 @@ use syntax::parse::token; use syntax::symbol::Symbol; use syntax::tokenstream; +/// This is the actual quote!() proc macro +/// +/// It is manually loaded in CStore::load_macro_untracked pub struct Quoter; pub fn unquote + Clone>(tokens: &T) -> TokenStream {