]> git.lizzy.rs Git - rust.git/blobdiff - tests/target/attrib.rs
Tidy up and pass tests
[rust.git] / tests / target / attrib.rs
index fa14f3c86472ba0e0dd7af8b63a86df344de7da1..0a3d2bc0b8106506750bbd42f38b0d30bcb9f052 100644 (file)
@@ -1,6 +1,22 @@
 // rustfmt-wrap_comments: true
 // Test attributes and doc comments are preserved.
 
+//! Doc comment
+
+#![attribute]
+
+//! Crate doc comment
+
+// Comment
+
+// Comment on attribute
+#![the(attribute)]
+
+// Another comment
+
+#[invalid attribute]
+fn foo() {}
+
 /// Blah blah blah.
 /// Blah blah blah.
 /// Blah blah blah.
@@ -30,11 +46,12 @@ pub fn f2(self) {
     fn f3(self) -> Dog {}
 
     /// Blah blah bing.
+
     #[attrib1]
     /// Blah blah bing.
     #[attrib2]
-    // Another comment that needs rewrite because it's
-    // tooooooooooooooooooooooooooooooo loooooooooooong.
+    // Another comment that needs rewrite because it's tooooooooooooooooooooooooooooooo
+    // loooooooooooong.
     /// Blah blah bing.
     fn f4(self) -> Cat {}
 
@@ -68,3 +85,76 @@ fn foo() {
     #[cfg_attr(not(target_os = "freertos"), allow(unused_variables))]
     let x = 3;
 }
+
+// #1777
+#[test]
+#[should_panic(expected = "(")]
+#[should_panic(expected = /* ( */ "(")]
+#[should_panic(/* ((((( */expected /* ((((( */= /* ((((( */ "("/* ((((( */)]
+#[should_panic(
+    /* (((((((( *//*
+    (((((((((()(((((((( */
+    expected = "("
+    // ((((((((
+)]
+fn foo() {}
+
+// #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));
+}
+
+// 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)]
+}
+
+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!();
+}
+
+// Large derive
+#[derive(Add, Sub, Mul, Div, Clone, Copy, Eq, PartialEq, Ord, PartialOrd, Debug, Hash, Serialize,
+         Deserialize)]
+pub struct HP(pub u8);
+
+// Long `#[doc = "..."]`
+struct A {
+    #[doc = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]
+    b: i32,
+}