diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-08-06 17:08:43 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-08-06 17:14:49 +0200 |
| commit | 768f97748f81c4cb7f63cfb74c16cb2f80dc0ce4 (patch) | |
| tree | 280ea9f1fd46628f654bf4dd2ffa656500f99fbc | |
| parent | dc0bae1db725fbba8524f195f74f680995fd549e (diff) | |
| download | rust-768f97748f81c4cb7f63cfb74c16cb2f80dc0ce4.tar.gz rust-768f97748f81c4cb7f63cfb74c16cb2f80dc0ce4.zip | |
Fix rustdoc scrape-examples feature crash
| -rw-r--r-- | src/librustdoc/config.rs | 3 | ||||
| -rw-r--r-- | src/librustdoc/scrape_examples.rs | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/librustdoc/config.rs b/src/librustdoc/config.rs index fed4296fa22..c52c7236883 100644 --- a/src/librustdoc/config.rs +++ b/src/librustdoc/config.rs @@ -804,8 +804,7 @@ impl Options { let scrape_examples_options = ScrapeExamplesOptions::new(matches, dcx); let with_examples = matches.opt_strs("with-examples"); - let call_locations = - crate::scrape_examples::load_call_locations(with_examples, dcx, &mut loaded_paths); + let call_locations = crate::scrape_examples::load_call_locations(with_examples, dcx); let doctest_build_args = matches.opt_strs("doctest-build-arg"); let unstable_features = diff --git a/src/librustdoc/scrape_examples.rs b/src/librustdoc/scrape_examples.rs index 4d29c74e1eb..9f71d6ae789 100644 --- a/src/librustdoc/scrape_examples.rs +++ b/src/librustdoc/scrape_examples.rs @@ -333,11 +333,14 @@ pub(crate) fn run( pub(crate) fn load_call_locations( with_examples: Vec<String>, dcx: DiagCtxtHandle<'_>, - loaded_paths: &mut Vec<PathBuf>, ) -> AllCallLocations { let mut all_calls: AllCallLocations = FxIndexMap::default(); for path in with_examples { - loaded_paths.push(path.clone().into()); + // FIXME: Figure out why this line is causing this feature to crash in specific contexts. + // Full issue backlog is available here: <https://github.com/rust-lang/rust/pull/144600>. + // + // Can be checked with `tests/run-make/rustdoc-scrape-examples-paths`. + // loaded_paths.push(path.clone().into()); let bytes = match fs::read(&path) { Ok(bytes) => bytes, Err(e) => dcx.fatal(format!("failed to load examples: {e}")), |
