// rustfmt-wrap_comments: true // rustfmt-normalize_doc_attributes: true // Only doc = "" attributes should be normalized #![doc = " Example doc attribute comment"] #![doc = " Example doc attribute comment with 10 leading spaces"] #![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png", html_favicon_url = "https://doc.rust-lang.org/favicon.ico", html_root_url = "https://doc.rust-lang.org/nightly/", html_playground_url = "https://play.rust-lang.org/", test(attr(deny(warnings))))] // Long `#[doc = "..."]` struct A { #[doc = " xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] b: i32 } #[doc = " The `nodes` and `edges` method each return instantiations of `Cow<[T]>` to leave implementers the freedom to create entirely new vectors or to pass back slices into internally owned vectors."] struct B { b: i32 } #[doc = " Level 1 comment"] mod tests { #[doc = " Level 2 comment"] impl A { #[doc = " Level 3 comment"] fn f() { #[doc = " Level 4 comment"] fn g() { } } } } struct C { #[doc = " item doc attrib comment"] // regular item comment b: i32, // regular item comment #[doc = " item doc attrib comment"] c: i32, } // non-regression test for regular attributes, from #2647 #[cfg(feature = "this_line_is_101_characters_long_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")] pub fn foo() {} // path attrs #[clippy::bar] #[clippy::bar=foo] #[clippy::bar(a, b, c)] pub fn foo() {} mod issue_2620 { #[derive(Debug, StructOpt)] #[structopt(about = "Display information about the character on FF Logs")] pub struct Params { #[structopt(help = "The server the character is on")] server: String, #[structopt(help = "The character's first name")] first_name: String, #[structopt(help = "The character's last name")] last_name: String, #[structopt( short = "j", long = "job", help = "The job to look at", parse(try_from_str) )] job: Option } } // non-regression test for regular attributes, from #2969 #[cfg(not(all(feature="std", any(target_os = "linux", target_os = "android", target_os = "netbsd", target_os = "dragonfly", target_os = "haiku", target_os = "emscripten", target_os = "solaris", target_os = "cloudabi", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "bitrig", target_os = "redox", target_os = "fuchsia", windows, all(target_arch = "wasm32", feature = "stdweb"), all(target_arch = "wasm32", feature = "wasm-bindgen"), ))))] type Os = NoSource; // use cases from bindgen needing precise control over leading spaces #[doc = "
"] #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct ContradictAccessors { #[doc = "no leading spaces here"] pub mBothAccessors: ::std::os::raw::c_int, #[doc = "
"] pub mNoAccessors: ::std::os::raw::c_int, #[doc = "
"] pub mUnsafeAccessors: ::std::os::raw::c_int, #[doc = "
"] pub mImmutableAccessor: ::std::os::raw::c_int, } #[doc = " \\brief MPI structure"] #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct mbedtls_mpi { #[doc = "< integer sign"] pub s: ::std::os::raw::c_int, #[doc = "< total # of limbs"] pub n: ::std::os::raw::c_ulong, #[doc = "< pointer to limbs"] pub p: *mut mbedtls_mpi_uint, }