]> git.lizzy.rs Git - rust.git/commitdiff
add an attribute to inner doctest fn
authorArpad Borsos <arpad.borsos@googlemail.com>
Sun, 20 Dec 2020 09:00:32 +0000 (10:00 +0100)
committerArpad Borsos <arpad.borsos@googlemail.com>
Sun, 20 Dec 2020 09:43:26 +0000 (10:43 +0100)
src/librustdoc/doctest.rs
src/librustdoc/doctest/tests.rs

index a08ded926402f0627029640e59f4bf6bb2456913..7313c761eae8c7a66e397c1d4dcc51340f031c49 100644 (file)
@@ -551,17 +551,18 @@ fn drop(&mut self) {
         } else {
             "_inner".into()
         };
+        let inner_attr = if test_id.is_some() { "#[allow(non_snake_case)] " } else { "" };
         let (main_pre, main_post) = if returns_result {
             (
                 format!(
-                    "fn main() {{ fn {}() -> Result<(), impl core::fmt::Debug> {{\n",
-                    inner_fn_name
+                    "fn main() {{ {}fn {}() -> Result<(), impl core::fmt::Debug> {{\n",
+                    inner_attr, inner_fn_name
                 ),
                 format!("\n}}; {}().unwrap() }}", inner_fn_name),
             )
         } else if test_id.is_some() {
             (
-                format!("fn main() {{ fn {}() {{\n", inner_fn_name),
+                format!("fn main() {{ {}fn {}() {{\n", inner_attr, inner_fn_name),
                 format!("\n}}; {}() }}", inner_fn_name),
             )
         } else {
index 7c0df673c1b9eb5ff472557921353ebdafa7e1a6..1aea85e99708a349e6e691460be3c666d02f012b 100644 (file)
@@ -304,11 +304,11 @@ fn make_test_named_wrapper() {
     let opts = TestOptions::default();
     let input = "assert_eq!(2+2, 4);";
     let expected = "#![allow(unused)]
-fn main() { fn _doctest_main_some_unique_name() {
+fn main() { #[allow(non_snake_case)] fn _doctest_main__some_unique_name() {
 assert_eq!(2+2, 4);
-}; _doctest_main_some_unique_name() }"
+}; _doctest_main__some_unique_name() }"
         .to_string();
     let (output, len, _) =
-        make_test(input, None, false, &opts, DEFAULT_EDITION, Some("some_unique_name"));
+        make_test(input, None, false, &opts, DEFAULT_EDITION, Some("_some_unique_name"));
     assert_eq!((output, len), (expected, 2));
 }