about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2025-03-17 05:47:48 -0400
committerGitHub <noreply@github.com>2025-03-17 05:47:48 -0400
commit08dfbf49e30d917c89e49eb14cb3f1e8b8a1c9ef (patch)
tree5b9eb8b49cbc7fb2f7ad05ac4974b36721cef839 /src/bootstrap
parent10bcdad7df0de3cfb95c7bdb7b16908e73cafc09 (diff)
parent4394f94023526f81b1c45f6e74a17360f31522e4 (diff)
downloadrust-08dfbf49e30d917c89e49eb14cb3f1e8b8a1c9ef.tar.gz
rust-08dfbf49e30d917c89e49eb14cb3f1e8b8a1c9ef.zip
Rollup merge of #136355 - GuillaumeGomez:proc-macro_add_value_retrieval_methods, r=Amanieu
Add `*_value` methods to proc_macro lib

This is the implementation of https://github.com/rust-lang/libs-team/issues/459.

It allows to get the actual value (unescaped) of the different string literals.

Part of https://github.com/rust-lang/rust/issues/136652.

r? libs-api
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/src/core/builder/tests.rs2
-rw-r--r--src/bootstrap/src/core/metadata.rs5
-rw-r--r--src/bootstrap/src/lib.rs2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/bootstrap/src/core/builder/tests.rs b/src/bootstrap/src/core/builder/tests.rs
index b062781e68a..343fbcc0286 100644
--- a/src/bootstrap/src/core/builder/tests.rs
+++ b/src/bootstrap/src/core/builder/tests.rs
@@ -655,7 +655,7 @@ mod dist {
         let mut builder = Builder::new(&build);
         builder.run_step_descriptions(
             &Builder::get_step_descriptions(Kind::Build),
-            &["compiler/rustc".into(), "library".into()],
+            &["compiler/rustc".into(), "std".into()],
         );
 
         assert_eq!(builder.config.stage, 2);
diff --git a/src/bootstrap/src/core/metadata.rs b/src/bootstrap/src/core/metadata.rs
index 2706aba5ffc..3720602dc77 100644
--- a/src/bootstrap/src/core/metadata.rs
+++ b/src/bootstrap/src/core/metadata.rs
@@ -62,6 +62,11 @@ pub fn build(build: &mut Build) {
             let relative_path = krate.local_path(build);
             build.crates.insert(name.clone(), krate);
             let existing_path = build.crate_paths.insert(relative_path, name);
+            // `literal-escaper` is both a dependency of `compiler/rustc_lexer` and of
+            // `library/proc-macro`, making it appear multiple times in the workspace.
+            if existing_path.as_deref() == Some("literal-escaper") {
+                continue;
+            }
             assert!(
                 existing_path.is_none(),
                 "multiple crates with the same path: {}",
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index 91574f8bf5d..2cf613c4d4a 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -716,7 +716,7 @@ impl Build {
             features.push("llvm");
         }
         // keep in sync with `bootstrap/compile.rs:rustc_cargo_env`
-        if self.config.rust_randomize_layout {
+        if self.config.rust_randomize_layout && check("rustc_randomized_layouts") {
             features.push("rustc_randomized_layouts");
         }