2015-11-09 13:03:01 -06:00
|
|
|
// rustfmt-wrap_comments: true
|
2015-04-28 03:56:01 -05:00
|
|
|
// Test attributes and doc comments are preserved.
|
2018-03-28 03:41:58 -05:00
|
|
|
#![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)))
|
|
|
|
)]
|
2015-04-28 03:56:01 -05:00
|
|
|
|
2017-08-27 10:18:17 -05:00
|
|
|
//! Doc comment
|
|
|
|
|
|
|
|
#![attribute]
|
|
|
|
|
|
|
|
//! Crate doc comment
|
|
|
|
|
|
|
|
// Comment
|
|
|
|
|
|
|
|
// Comment on attribute
|
|
|
|
#![the(attribute)]
|
|
|
|
|
|
|
|
// Another comment
|
|
|
|
|
2015-04-28 23:21:04 -05:00
|
|
|
/// Blah blah blah.
|
|
|
|
/// Blah blah blah.
|
|
|
|
/// Blah blah blah.
|
|
|
|
/// Blah blah blah.
|
|
|
|
|
2015-04-28 03:56:01 -05:00
|
|
|
/// Blah blah blah.
|
|
|
|
impl Bar {
|
2015-04-28 23:21:04 -05:00
|
|
|
/// Blah blah blooo.
|
|
|
|
/// Blah blah blooo.
|
|
|
|
/// Blah blah blooo.
|
2015-04-28 03:56:01 -05:00
|
|
|
/// Blah blah blooo.
|
|
|
|
#[an_attribute]
|
2018-09-12 18:06:02 -05:00
|
|
|
#[doc = "an attribute that shouldn't be normalized to a doc comment"]
|
2015-11-19 20:11:32 -06:00
|
|
|
fn foo(&mut self) -> isize {}
|
2015-04-28 03:56:01 -05:00
|
|
|
|
2015-04-28 23:21:04 -05:00
|
|
|
/// Blah blah bing.
|
|
|
|
/// Blah blah bing.
|
|
|
|
/// Blah blah bing.
|
|
|
|
|
|
|
|
/// Blah blah bing.
|
|
|
|
/// Blah blah bing.
|
2015-04-28 03:56:01 -05:00
|
|
|
/// Blah blah bing.
|
|
|
|
pub fn f2(self) {
|
|
|
|
(foo, bar)
|
|
|
|
}
|
|
|
|
|
|
|
|
#[another_attribute]
|
2015-11-19 20:11:32 -06:00
|
|
|
fn f3(self) -> Dog {}
|
2015-07-17 16:10:15 -05:00
|
|
|
|
|
|
|
/// Blah blah bing.
|
2017-08-27 10:18:17 -05:00
|
|
|
|
2015-07-17 16:10:15 -05:00
|
|
|
#[attrib1]
|
|
|
|
/// Blah blah bing.
|
|
|
|
#[attrib2]
|
2017-08-27 10:18:17 -05:00
|
|
|
// Another comment that needs rewrite because it's tooooooooooooooooooooooooooooooo
|
|
|
|
// loooooooooooong.
|
2015-07-17 16:10:15 -05:00
|
|
|
/// Blah blah bing.
|
2015-11-19 20:11:32 -06:00
|
|
|
fn f4(self) -> Cat {}
|
2017-06-05 09:21:39 -05:00
|
|
|
|
|
|
|
// We want spaces around `=`
|
|
|
|
#[cfg(feature = "nightly")]
|
|
|
|
fn f5(self) -> Monkey {}
|
|
|
|
}
|
|
|
|
|
|
|
|
// #984
|
|
|
|
struct Foo {
|
2018-01-11 01:53:13 -06:00
|
|
|
#[derive(Clone, PartialEq, Debug, Deserialize, Serialize)]
|
|
|
|
foo: usize,
|
2015-04-28 03:56:01 -05:00
|
|
|
}
|
2017-06-13 10:09:17 -05:00
|
|
|
|
|
|
|
// #1668
|
|
|
|
|
|
|
|
/// Default path (*nix)
|
2018-08-05 18:10:04 -05:00
|
|
|
#[cfg(all(
|
|
|
|
unix,
|
|
|
|
not(target_os = "macos"),
|
|
|
|
not(target_os = "ios"),
|
|
|
|
not(target_os = "android")
|
|
|
|
))]
|
2017-06-13 10:09:17 -05:00
|
|
|
fn foo() {
|
|
|
|
#[cfg(target_os = "freertos")]
|
|
|
|
match port_id {
|
2017-07-03 04:54:26 -05:00
|
|
|
'a' | 'A' => GpioPort {
|
|
|
|
port_address: GPIO_A,
|
|
|
|
},
|
|
|
|
'b' | 'B' => GpioPort {
|
|
|
|
port_address: GPIO_B,
|
|
|
|
},
|
2017-06-13 10:09:17 -05:00
|
|
|
_ => panic!(),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[cfg_attr(not(target_os = "freertos"), allow(unused_variables))]
|
|
|
|
let x = 3;
|
|
|
|
}
|
2017-07-10 02:45:21 -05:00
|
|
|
|
|
|
|
// #1777
|
|
|
|
#[test]
|
|
|
|
#[should_panic(expected = "(")]
|
|
|
|
#[should_panic(expected = /* ( */ "(")]
|
|
|
|
#[should_panic(/* ((((( */expected /* ((((( */= /* ((((( */ "("/* ((((( */)]
|
|
|
|
#[should_panic(
|
|
|
|
/* (((((((( *//*
|
|
|
|
(((((((((()(((((((( */
|
|
|
|
expected = "("
|
|
|
|
// ((((((((
|
|
|
|
)]
|
|
|
|
fn foo() {}
|
2017-07-20 09:58:00 -05:00
|
|
|
|
|
|
|
// #1799
|
|
|
|
fn issue_1799() {
|
|
|
|
#[allow(unreachable_code)] // https://github.com/rust-lang/rust/issues/43336
|
|
|
|
Some(Err(error));
|
|
|
|
|
|
|
|
#[allow(unreachable_code)]
|
|
|
|
// https://github.com/rust-lang/rust/issues/43336
|
|
|
|
Some(Err(error));
|
|
|
|
}
|
2017-07-24 10:56:09 -05:00
|
|
|
|
|
|
|
// Formatting inner attributes
|
|
|
|
fn inner_attributes() {
|
|
|
|
#![this_is_an_inner_attribute(foo)]
|
|
|
|
|
|
|
|
foo();
|
|
|
|
}
|
|
|
|
|
|
|
|
impl InnerAttributes() {
|
|
|
|
#![this_is_an_inner_attribute(foo)]
|
|
|
|
|
|
|
|
fn foo() {}
|
|
|
|
}
|
|
|
|
|
|
|
|
mod InnerAttributes {
|
|
|
|
#![this_is_an_inner_attribute(foo)]
|
|
|
|
}
|
2017-08-30 05:27:36 -05:00
|
|
|
|
|
|
|
fn attributes_on_statements() {
|
|
|
|
// Local
|
|
|
|
#[attr(on(local))]
|
|
|
|
let x = 3;
|
|
|
|
|
|
|
|
// Item
|
|
|
|
#[attr(on(item))]
|
|
|
|
use foo;
|
|
|
|
|
|
|
|
// Expr
|
|
|
|
#[attr(on(expr))]
|
|
|
|
{}
|
|
|
|
|
|
|
|
// Semi
|
|
|
|
#[attr(on(semi))]
|
|
|
|
foo();
|
|
|
|
|
|
|
|
// Mac
|
|
|
|
#[attr(on(mac))]
|
|
|
|
foo!();
|
|
|
|
}
|
2017-09-02 18:14:00 -05:00
|
|
|
|
2018-06-25 21:58:51 -05:00
|
|
|
// Large derives
|
|
|
|
#[derive(
|
|
|
|
Add, Sub, Mul, Div, Clone, Copy, Eq, PartialEq, Ord, PartialOrd, Debug, Hash, Serialize, Mul,
|
|
|
|
)]
|
|
|
|
|
|
|
|
/// Foo bar baz
|
|
|
|
|
|
|
|
#[derive(
|
|
|
|
Add,
|
|
|
|
Sub,
|
|
|
|
Mul,
|
|
|
|
Div,
|
|
|
|
Clone,
|
|
|
|
Copy,
|
|
|
|
Eq,
|
|
|
|
PartialEq,
|
|
|
|
Ord,
|
|
|
|
PartialOrd,
|
|
|
|
Debug,
|
|
|
|
Hash,
|
|
|
|
Serialize,
|
|
|
|
Deserialize,
|
|
|
|
)]
|
2017-09-02 18:14:00 -05:00
|
|
|
pub struct HP(pub u8);
|
2018-02-23 07:52:56 -06:00
|
|
|
|
|
|
|
// Long `#[doc = "..."]`
|
|
|
|
struct A {
|
|
|
|
#[doc = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]
|
|
|
|
b: i32,
|
|
|
|
}
|
2018-04-30 01:49:32 -05:00
|
|
|
|
|
|
|
// #2647
|
|
|
|
#[cfg(
|
|
|
|
feature = "this_line_is_101_characters_long_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
|
|
)]
|
|
|
|
pub fn foo() {}
|
2018-05-13 23:04:15 -05:00
|
|
|
|
|
|
|
// path attrs
|
|
|
|
#[clippy::bar]
|
|
|
|
#[clippy::bar(a, b, c)]
|
|
|
|
pub fn foo() {}
|
2018-06-25 22:15:29 -05:00
|
|
|
|
|
|
|
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>,
|
|
|
|
}
|
|
|
|
}
|
2018-08-27 02:12:11 -05:00
|
|
|
|
|
|
|
// #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 = "redox",
|
|
|
|
target_os = "fuchsia",
|
|
|
|
windows,
|
|
|
|
all(target_arch = "wasm32", feature = "stdweb"),
|
|
|
|
all(target_arch = "wasm32", feature = "wasm-bindgen"),
|
|
|
|
)
|
|
|
|
)))]
|
|
|
|
type Os = NoSource;
|
2019-02-06 08:10:27 -06:00
|
|
|
|
|
|
|
// #3313
|
|
|
|
fn stmt_expr_attributes() {
|
|
|
|
let foo;
|
|
|
|
#[must_use]
|
|
|
|
foo = false;
|
|
|
|
}
|
2019-04-14 06:12:58 -05:00
|
|
|
|
|
|
|
// #3509
|
|
|
|
fn issue3509() {
|
|
|
|
match MyEnum {
|
|
|
|
MyEnum::Option1 if cfg!(target_os = "windows") =>
|
|
|
|
#[cfg(target_os = "windows")]
|
|
|
|
{
|
|
|
|
1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
match MyEnum {
|
|
|
|
MyEnum::Option1 if cfg!(target_os = "windows") =>
|
|
|
|
{
|
|
|
|
#[cfg(target_os = "windows")]
|
|
|
|
1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|