about summary refs log tree commit diff
path: root/compiler/rustc_macros/src/lib.rs
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2023-11-08 17:05:44 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2023-11-10 10:54:21 +1100
commit49908b4d90688bea6edb5ef811d78e61ba3aa5f3 (patch)
treee4ec7ad15d6cb4b3b0986b2d5ae19fe592ce95f7 /compiler/rustc_macros/src/lib.rs
parentfdaaaf9f923281ab98b865259aa40fbf93d72c7a (diff)
downloadrust-49908b4d90688bea6edb5ef811d78e61ba3aa5f3.tar.gz
rust-49908b4d90688bea6edb5ef811d78e61ba3aa5f3.zip
Simplify the `current_rustc_version` macro.
It currently has the syntax
`current_rustc_version!(env!("CFG_RELEASE"))` where the
`env!("CFG_RELEASE")` part looks like a normal expression but it is
actually parsed and processed by the `current_rustc_version` macro.

The documented rationale for this is that you'll find it if you grep for
`env!("CFG_RELEASE")`. But I think that's of very little use -- I would
personally grep for just "CFG_RELEASE" -- and it complicates the macro,
requiring the use of `syn`.

This commit simplifies the macro.
Diffstat (limited to 'compiler/rustc_macros/src/lib.rs')
-rw-r--r--compiler/rustc_macros/src/lib.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_macros/src/lib.rs b/compiler/rustc_macros/src/lib.rs
index 193dbd75fbd..a6666636032 100644
--- a/compiler/rustc_macros/src/lib.rs
+++ b/compiler/rustc_macros/src/lib.rs
@@ -26,6 +26,9 @@ mod symbols;
 mod type_foldable;
 mod type_visitable;
 
+// Reads the rust version (e.g. "1.75.0") from the CFG_RELEASE env var and
+// produces a `RustcVersion` literal containing that version (e.g.
+// `RustcVersion { major: 1, minor: 75, patch: 0 }`).
 #[proc_macro]
 pub fn current_rustc_version(input: TokenStream) -> TokenStream {
     current_version::current_version(input)