83d1d9aa14
Remove possible whitespace from the `CommentStyle::opener()` so that the literal itself has control over the comment's leading spaces. This is most useful for tools, such as bindgen, to allow for example: machine-readable comments with precise syntax rules, or idempotently round-tripping between the proc-macro API and rustfmt.
134 lines
3.6 KiB
Rust
134 lines
3.6 KiB
Rust
// rustfmt-wrap_comments: true
|
|
// rustfmt-normalize_doc_attributes: true
|
|
|
|
// Only doc = "" attributes should be normalized
|
|
//! Example doc attribute comment
|
|
//! 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 {
|
|
/// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
b: i32,
|
|
}
|
|
|
|
/// 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,
|
|
}
|
|
|
|
/// Level 1 comment
|
|
mod tests {
|
|
/// Level 2 comment
|
|
impl A {
|
|
/// Level 3 comment
|
|
fn f() {
|
|
/// Level 4 comment
|
|
fn g() {}
|
|
}
|
|
}
|
|
}
|
|
|
|
struct C {
|
|
/// item doc attrib comment
|
|
// regular item comment
|
|
b: i32,
|
|
|
|
// regular item comment
|
|
/// 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<Job>,
|
|
}
|
|
}
|
|
|
|
// 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
|
|
/// <div rustbindgen accessor></div>
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy, Clone)]
|
|
pub struct ContradictAccessors {
|
|
///<foo>no leading spaces here</foo>
|
|
pub mBothAccessors: ::std::os::raw::c_int,
|
|
/// <div rustbindgen accessor="false"></div>
|
|
pub mNoAccessors: ::std::os::raw::c_int,
|
|
/// <div rustbindgen accessor="unsafe"></div>
|
|
pub mUnsafeAccessors: ::std::os::raw::c_int,
|
|
/// <div rustbindgen accessor="immutable"></div>
|
|
pub mImmutableAccessor: ::std::os::raw::c_int,
|
|
}
|
|
|
|
/// \brief MPI structure
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy, Clone)]
|
|
pub struct mbedtls_mpi {
|
|
///< integer sign
|
|
pub s: ::std::os::raw::c_int,
|
|
///< total # of limbs
|
|
pub n: ::std::os::raw::c_ulong,
|
|
///< pointer to limbs
|
|
pub p: *mut mbedtls_mpi_uint,
|
|
}
|