From a429afacbc4c6a753af6b526e74f19b7caedaaad Mon Sep 17 00:00:00 2001 From: Noah Lev Date: Mon, 3 Jun 2024 22:49:54 -0700 Subject: [PATCH] Remove `RunnableDoctest` It should instead be the actual input to the running logic. Currently it's not actually quite runnable since it's still missing some information. --- src/librustdoc/doctest.rs | 41 ++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/src/librustdoc/doctest.rs b/src/librustdoc/doctest.rs index 1d027fbd15d..043d70dc6aa 100644 --- a/src/librustdoc/doctest.rs +++ b/src/librustdoc/doctest.rs @@ -1086,13 +1086,11 @@ impl CreateRunnableDoctests { }, testfn: test::DynTestFn(Box::new(move || { doctest_run_fn( - RunnableDoctest { - crate_name, - rustdoc_test_options, - opts, - path, - scraped_test: test, - }, + crate_name, + rustdoc_test_options, + opts, + path, + test, rustdoc_options, unused_externs, ) @@ -1101,36 +1099,31 @@ impl CreateRunnableDoctests { } } -/// A doctest that is ready to run. -struct RunnableDoctest { +fn doctest_run_fn( crate_name: String, - rustdoc_test_options: IndividualTestOptions, - opts: GlobalTestOptions, + test_opts: IndividualTestOptions, + global_opts: GlobalTestOptions, path: PathBuf, scraped_test: ScrapedDoctest, -} - -fn doctest_run_fn( - runnable_test: RunnableDoctest, rustdoc_options: Arc, unused_externs: Arc>>, ) -> Result<(), String> { let report_unused_externs = |uext| { unused_externs.lock().unwrap().push(uext); }; - let no_run = runnable_test.scraped_test.no_run(&rustdoc_options); - let edition = runnable_test.scraped_test.edition(&rustdoc_options); + let no_run = scraped_test.no_run(&rustdoc_options); + let edition = scraped_test.edition(&rustdoc_options); let res = run_test( - &runnable_test.scraped_test.text, - &runnable_test.crate_name, - runnable_test.scraped_test.line, + &scraped_test.text, + &crate_name, + scraped_test.line, &rustdoc_options, - runnable_test.rustdoc_test_options, - runnable_test.scraped_test.langstr, + test_opts, + scraped_test.langstr, no_run, - &runnable_test.opts, + &global_opts, edition, - runnable_test.path, + path, report_unused_externs, );