From: Gary Guo <[email protected]>

The `-> Result<(), impl core::fmt::Debug>` string is generated by rustdoc
and by adding "::" into the string it no longer finds anything, and making
the line useless.

Remove the "::" in the pattern. Omit it in the replacement too, for
consistency with upstream rustdoc.

Fixes: de7cd3e4d638 ("rust: use absolute paths in macros referencing core and 
kernel")
Signed-off-by: Gary Guo <[email protected]>
--
Changes in v2:
- Update comments too
- Stops using :: in the replacement too to be consistent with upstream
  rustdoc
---
 scripts/rustdoc_test_builder.rs | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/scripts/rustdoc_test_builder.rs b/scripts/rustdoc_test_builder.rs
index f7540bcf595a..5457679c12f9 100644
--- a/scripts/rustdoc_test_builder.rs
+++ b/scripts/rustdoc_test_builder.rs
@@ -28,7 +28,7 @@ fn main() {
     //
     // ```
     // fn main() { #[allow(non_snake_case)] fn 
_doctest_main_rust_kernel_file_rs_28_0() {
-    // fn main() { #[allow(non_snake_case)] fn 
_doctest_main_rust_kernel_file_rs_37_0() -> Result<(), impl ::core::fmt::Debug> 
{
+    // fn main() { #[allow(non_snake_case)] fn 
_doctest_main_rust_kernel_file_rs_37_0() -> Result<(), impl core::fmt::Debug> {
     // ```
     //
     // It should be unlikely that doctest code matches such lines (when code 
is formatted properly).
@@ -47,12 +47,14 @@ fn main() {
         })
         .expect("No test function found in `rustdoc`'s output.");
 
-    // Qualify `Result` to avoid the collision with our own `Result` coming 
from the prelude.
+    // Replicate rustdoc 1.87+ behaviour by fully qualify `Result` (to avoid 
the collision with our
+    // own `Result` coming from the prelude).
+    //
+    // TODO: Remove this when MSRV is bumped above 1.87.
     let body = body.replace(
-        &format!("{rustdoc_function_name}() -> Result<(), impl 
::core::fmt::Debug> {{"),
-        &format!(
-            "{rustdoc_function_name}() -> ::core::result::Result<(), impl 
::core::fmt::Debug> {{"
-        ),
+        &format!("{rustdoc_function_name}() -> Result<(), impl 
core::fmt::Debug> {{"),
+        // This intentionally does not use absolute paths to match rustdoc 
1.87 behaviour.
+        &format!("{rustdoc_function_name}() -> core::result::Result<(), impl 
core::fmt::Debug> {{"),
     );
 
     // For tests that get generated with `Result`, like above, `rustdoc` 
generates an `unwrap()` on

base-commit: c425609d6ac4012c8bbf01ec2e10e801b1923a7b
prerequisite-patch-id: 0000000000000000000000000000000000000000
-- 
2.54.0


Reply via email to