about summary refs log tree commit diff
path: root/compiler/rustc_attr_data_structures/src
diff options
context:
space:
mode:
authorPietro Albini <pietro@pietroalbini.org>2025-01-06 21:53:48 +0100
committerPietro Albini <pietro@pietroalbini.org>2025-01-06 21:53:48 +0100
commit80cdaeac3de16f48db1e187b2426c2517d5aa5ea (patch)
tree323e84c22d1282578cf6728dcf62e521259e25ca /compiler/rustc_attr_data_structures/src
parent243d2ca4db6f96d2d18aaf3a2381251d38eb6b0b (diff)
downloadrust-80cdaeac3de16f48db1e187b2426c2517d5aa5ea.tar.gz
rust-80cdaeac3de16f48db1e187b2426c2517d5aa5ea.zip
avoid replacing the definition of CURRENT_RUSTC_VERSION
Before this commit, replace-version-placeholder hardcoded the path
defining CURRENT_RUSTC_VERSION (to avoid replacing it). After a refactor
moved the file defining it without changing the hardcoded path, the tool
started replacing the constant itself with the version number.

To avoid this from happening in the future, this changes the definition
of the constant to avoid the tool from ever matching it.
Diffstat (limited to 'compiler/rustc_attr_data_structures/src')
-rw-r--r--compiler/rustc_attr_data_structures/src/stability.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_attr_data_structures/src/stability.rs b/compiler/rustc_attr_data_structures/src/stability.rs
index 021fe40e3e0..3c77d4c766c 100644
--- a/compiler/rustc_attr_data_structures/src/stability.rs
+++ b/compiler/rustc_attr_data_structures/src/stability.rs
@@ -9,7 +9,12 @@ use crate::RustcVersion;
 /// `since` field of the `#[stable]` attribute.
 ///
 /// For more, see [this pull request](https://github.com/rust-lang/rust/pull/100591).
-pub const VERSION_PLACEHOLDER: &str = "CURRENT_RUSTC_VERSION";
+pub const VERSION_PLACEHOLDER: &str = concat!("CURRENT_RUSTC_VERSIO", "N");
+// Note that the `concat!` macro above prevents `src/tools/replace-version-placeholder` from
+// replacing the constant with the current version. Hardcoding the tool to skip this file doesn't
+// work as the file can (and at some point will) be moved around.
+//
+// Turning the `concat!` macro into a string literal will make Pietro cry. That'd be sad :(
 
 /// Represents the following attributes:
 ///